我有一个使用OLEDB从Excel文件导入数据的组件。由于业务风险和时间限制,我的可执行shell被编译为x86(32位)以避免64-bit OLEDB problem,并且组件在加载到我的32位shell时运行完美。
但是,我的CI构建过程(TeamCity)在64位进程中运行其TestRunner,因此针对上述功能的单元测试失败,并显示常见错误消息:
测试失败。 System.InvalidOperationException:The 'Microsoft.Jet.OLEDB.4.0'提供程序未在本地注册 机
我的解决方案似乎是
那么,有没有办法告诉NUnit或TeamCity NUnit测试运行器在32位进程中运行特定的测试?理想情况下,我希望相同的测试在IDE和CI中都不会被修改。
答案 0 :(得分:4)
在单元测试项目中将“平台目标”更改为x86应该可以解决问题。