System.BadImageFormatException:尝试使用installutil.exe安装服务时无法加载文件或程序集…格式不正确

我知道我会问重复的问题,但我的情况完全不同我认为是因为当我用我的程序的nunit工具进行unit testing然后在NUnit中发生此错误

“NewTest.testtest(TestFixtureSetUp):SetUp:System.BadImageFormatException:无法加载文件或程序集”AUTO_REPAIR,Version = 1.0.0.0,Culture = neutral,PublicKeyToken = null“或其中一个依赖项。尝试加载一个程序格式不正确。“

我想知道为什么这个工具会发生这个错误? 我确信我在项目或任何测试用例中都没有错误。

请帮帮我。

这是这个错误的图像

在此处输入图像描述

有两种方法可以解决此错误

  1. 在Visual Studio中为您的项目将平台目标设置为x86(右键单击您的解决方案,然后转到属性,然后您将找到构建选项,当您单击构建时,您将找到平台目标)。 将平台目标设置为x86后,尝试使用nunit进行unit testing。

要么

  1. 只需找到你的nunit文件夹的bin文件夹中的nunit-x86.exe,然后运行这个exe文件,你就不会再看到任何exception:)

尝试在64位进程中加载​​x86程序集时发生BadFormatException,反之亦然。 根据NUnit文档( http://www.nunit.org/index.php?p=nunit-gui&r=2.4.2 ),默认运行程序编译为AnyCPU,这意味着它在64位计算机上是64位进程。 如果您的某个程序集或其任何依赖项直接针对x86进行编译,您将收到此exception。

切换到Nunit-x86或Nunit-console-x86.exe,一切都应正确加载。

解决Ammar的评论。 不要仅仅依赖于Configuration Manager告诉您的活动平台。 转到项目属性并在那里检查,这是项目的真正平台

在此处输入图像描述