NUnit在Windows 7上完全无法工作

19

我刚接触单元测试,第一次尝试使用NUnit。

我的环境是Windows 7 Professional 64位,Visual Studio 2010,我正在使用C#开发Windows应用程序。我刚编写了一个简单的测试,并尝试使用NUnit GUI运行测试。

我的NUnit版本是2.5.10,我还尝试了比这个版本低的4个版本,但出现了相同的错误。

错误信息如下:

"System.BadImageFormatException:无法加载文件或程序集'DataLogger,version=1.0.0.0,Culture=neutral,PublicKeyToken=null'或其某个依赖项。 尝试加载具有不正确格式的程序。

您可能正在尝试加载使用CLR的较新版本(2.0.50727)构建的程序集,而NUnit当前正在运行的版本低于该版本,或者尝试将64位程序集加载到32位进程中。

有关更多信息,请使用异常详细信息菜单项。"

我所做的就是将项目的Debug文件夹中的应用程序exe加载到NUnit GUI中。 (我提到这一点是因为我怀疑这可能是错误的方法)。 希望对此有所帮助。


你尝试过写一个非常简单的测试吗,其中不包括任何你的应用程序代码吗?DataLogger是你的应用程序代码的一部分吗? - Bernard Chen
请查看此链接:https://dev59.com/ilHTa4cB1Zd3GeqPTahr - Haris Hasan
你的系统中是否有任何未托管的代码?如果有,请检查32/64位问题。 - Ian Ringrose
2个回答

36

我也曾遇到过这个问题。 你需要使用应用程序的x86版本,通常位于 C:\ Program Files(x86)\ NUnit 2.5.10 \ bin \ net-2.0 \ nunit-x86.exe 这样就不会抛出异常。


为什么我的机器是64位的,我还要使用32位版本的Nunit。真是让人头疼。不过还是很好用,谢谢。 - Sleeper Smith

2

我在某个地方读到,如果我们使用64位的Windows 7并为x86开发应用程序,则必须在同一文件夹中使用名为nunitx86.exe的单独GUI。我这样做了,它起作用了。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接