简体   繁体   中英

System.BadImageFormatException:Could not load file or assembly … incorrect format when trying to install service with installutil.exe

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

在此输入图像描述

There are two ways to solve this error

  1. 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

  1. 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 :)

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.

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

在此输入图像描述

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM