问题
I know i am going to ask duplicate question but my scenario is totally different i think so because when i go to do unit testing with nunit tool of my program then in NUnit this error happen
"NewTest.testtest (TestFixtureSetUp): SetUp : System.BadImageFormatException : Could not load file or assembly 'AUTO_REPAIR, 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."
I wonder why this error is happening to this tool ? i am sure i dont have error in project or in any test case.
Please help me out.
here is image of this error
回答1:
There are two ways to solve this error
- Set Platform target to x86 for your project in visual studio(Right click on your solution and then go to properties then you will find build option and when you click on build you will find platform target). After you set your platform target to x86 try to do your unit test using nunit.
or
- Simply find out nunit-x86.exe in bin folder of your nunit folder and just run this exe file and you will not see any exception again :)
回答2:
BadFormatException occurs when you attempt to load an x86 assembly in a 64bit process or vice versa. As per NUnit documentation (http://www.nunit.org/index.php?p=nunit-gui&r=2.4.2) the default runner is compiled as AnyCPU which means its a 64bit process on a 64bit machine. If one of your assemblies or any of its dependencies are directly compiled for x86 you will get this exception.
Switch to the Nunit-x86 or Nunit-console-x86.exe and everything should load correctly.
回答3:
To tack onto Ammar's comment. Don't rely solely on what Configuration Manager tells you is the active platform. Go to the project properties and check there too, that is what is the real platform for the project
来源:https://stackoverflow.com/questions/16658976/system-badimageformatexceptioncould-not-load-file-or-assembly-incorrect-forma