سؤال

Good morning, afternoon, or night,

I am trying to use NUnit 2.5.9 to run some unit tests contained in an assembly built with Visual Studio 2010 which targets .NET 2.0. However, I keep getting a System.BadImageFormatException exception everytime... I tried the workarounds described here, but to no avail. I have also downloaded the source code and compiled it under Visual Studio 2010 targeting .NET 2.0, but the exception keeps popping up... What is going wrong here?

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)

Thank you very much.

هل كانت مفيدة؟

المحلول

I've seen similar errors trying to test x86 assemblies on a 64-bit system.

You may need to run nunit-x86.exe instead of nunit.exe.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top