使用NUnit和Resharper时出现System.BadImageFormatException

时间:2015-09-15 18:44:40

标签: c# asp.net nunit resharper

我正在使用Visual Studio 2010和Resharper 9.0。我有64位系统。 我有NUnit 2.6.4

当我尝试运行任何测试时,我得到了这个。没有测试在这里工作。 任何人都可以告诉我如何解决这个错误。

错误:

System.BadImageFormatException : Could not load file or assembly 'NUnitFirst, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null' or one of its dependencies. An attempt was made to load a program with an incorrect format.

2 个答案:

答案 0 :(得分:2)

这很可能是因为当您的生产代码需要32位时,您的测试程序集被编译为64位,反之亦然。 ReSharper的测试运行器将根据您的测试程序集(.net 4.0或4.5,32或64位等)启动托管过程。如果项目标记为32位,64位或AnyCPU,则会启动相应的主机应用程序。

如果您的生产组件需要,例如64位,但您的测试程序集是32位,32位测试托管应用程序已启动,并且无法加载生产程序集,并抛出BadImageFormatException

解决方案是更改测试组件的位以匹配生产组件。

答案 1 :(得分:0)

如果您编译为x64位,请使用 nunit.exe ,否则请使用 nunit-x86.exe