系统相关
首页 > 系统相关> > c# – 在64位环境中将指定的NUnit测试作为32位进程运行

c# – 在64位环境中将指定的NUnit测试作为32位进程运行

作者:互联网

我有一个使用OLEDB从Excel文件导入数据的组件.由于业务风险和时间限制,我的可执行shell被编译为x86(32位)以避免64-bit OLEDB problem,并且组件在加载到我的32位shell时运行完美.

但是,我的CI构建过程(TeamCity)在64位进程中运行其TestRunner,因此针对上述功能的单元测试失败,并显示常见错误消息:

Test(s) failed. System.InvalidOperationException : The
‘Microsoft.Jet.OLEDB.4.0’ provider is not registered on the local
machine

我的解决方案似乎是

>更改CI测试运行器 – 不可行,因为其他10个团队使用了testrunner
>确保此测试在32位进程中运行

那么,有没有办法告诉NUnit或TeamCity NUnit测试运行器在32位进程中运行特定的测试?理想情况下,我希望在IDE和CI中运行相同的测试.

解决方法:

在单元测试项目中将“平台目标”更改为x86应该可以解决问题.

标签:c,nunit,teamcity,oledb
来源: https://codeday.me/bug/20190625/1285252.html