繁体   English   中英

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

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

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

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

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

请帮帮我。

这是这个错误的图像

在此输入图像描述

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

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

要么

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

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

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

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

在此输入图像描述

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

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