2

早上好,下午好,还是晚上好,

我正在尝试使用 NUnit 2.5.9 运行一些单元测试,这些单元测试包含在使用 Visual Studio 2010 构建的程序集中,该程序集以 .NET 2.0 为目标。但是,我每次都遇到System.BadImageFormatException异常...我尝试了此处描述的解决方法,但无济于事。我还下载了源代码并在面向 .NET 2.0 的 Visual Studio 2010 下编译它,但异常不断弹出......这里出了什么问题?

System.BadImageFormatException...

Server stack trace: 
   em System.Reflection.Assembly._nLoad(AssemblyName fileName, String codeBase, Evidence assemblySecurity, Assembly locationHint, StackCrawlMark& stackMark, Boolean throwOnFileNotFound, Boolean forIntrospection)
   em System.Reflection.Assembly.InternalLoad(AssemblyName assemblyRef, Evidence assemblySecurity, StackCrawlMark& stackMark, Boolean forIntrospection)
   em System.Reflection.Assembly.Load(AssemblyName assemblyRef)
   em NUnit.Core.Builders.TestAssemblyBuilder.Load(String path)
   em NUnit.Core.Builders.TestAssemblyBuilder.Build(String assemblyName, Boolean autoSuites)
   em NUnit.Core.Builders.TestAssemblyBuilder.Build(String assemblyName, String testName, Boolean autoSuites)
   em NUnit.Core.TestSuiteBuilder.Build(TestPackage package)
   em NUnit.Core.SimpleTestRunner.Load(TestPackage package)
   em NUnit.Core.ProxyTestRunner.Load(TestPackage package)
   em NUnit.Core.ProxyTestRunner.Load(TestPackage package)
   em NUnit.Core.RemoteTestRunner.Load(TestPackage package)
   em System.Runtime.Remoting.Messaging.StackBuilderSink._PrivateProcessMessage(IntPtr md, Object[] args, Object server, Int32 methodPtr, Boolean fExecuteInContext, Object[]& outArgs)
   em System.Runtime.Remoting.Messaging.StackBuilderSink.SyncProcessMessage(IMessage msg, Int32 methodPtr, Boolean fExecuteInContext)

Exception rethrown at [0]: 
   em System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg)
   em System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type)
   em NUnit.Core.TestRunner.Load(TestPackage package)
   em NUnit.Util.TestDomain.Load(TestPackage package)
   em NUnit.Util.TestLoader.LoadTest(String testName)

非常感谢你。

4

1 回答 1

3

我在尝试在 64 位系统上测试 x86 程序集时看到了类似的错误。

您可能需要运行 nunit-x86.exe 而不是 nunit.exe。

于 2011-03-23T12:59:08.657 回答