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

时间:2013-03-25 11:48:49

标签: c# nunit teamcity oledb

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

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

  

测试失败。 System.InvalidOperationException:The   'Microsoft.Jet.OLEDB.4.0'提供程序未在本地注册   机

我的解决方案似乎是

  1. 更改CI测试运行器 - 不可行,因为其他10个团队使用了testrunner
  2. 确保此测试以32位进程运行
  3. 那么,有没有办法告诉NUnit或TeamCity NUnit测试运行器在32位进程中运行特定的测试?理想情况下,我希望相同的测试在IDE和CI中都不会被修改。

1 个答案:

答案 0 :(得分:4)

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