无法加载文件或程序集…尝试加载格式不正确的程序

无法加载文件或程序集…尝试加载格式不正确的程序(System.BadImageFormatException)

我有两个项目ProjectAProjectBProjectB是一个控制台应用程序,它依赖于ProjectA..昨天,一切都很好,但是今天我突然跑了起来。ProjectB我明白了:

BadImageFormatException未处理:
无法加载文件或程序集‘Projecta,version=1.0.0.0,区域性=中性,PublicKeyToken=null’或其依赖项之一。试图加载格式不正确的程序。

这两个项目都只是常规项目,不依赖于任何其他非.NET项目。两者都是完全.NET的-没有本机代码,也没有P/Invoke。我还有其他的项目ProjectA还能正常工作。

我尝试过的事情:

  • 确保两个项目都设置为“任意cpu”,并使用

    建房

    复选框选中。他们是。
  • 确保两个项目都适用于同一个目标框架

    (.NET 4.0客户简介).

  • 在ProjectB->引用->Projecta->属性下,请确保

    “复制本地”

    设置为

    “真” _ (我验证了ProjectA.dll被正确复制)

  • 清理/重建解决方案。我甚至尝试手动删除两个项目中的/bin和/obj文件夹。
  • 重新启动VisualStudio。重启我的电脑。
  • 查看一个全新的存储库副本。

但我还是会犯同样的错误。我不知道我做了什么导致了这件事,也不知道如何解决它。有什么想法吗?


森林海
浏览 395回答 3
3回答

月关宝盒

我很肯定你有32位/64位的矛盾。听起来,您的主项目可能设置为32位,而其引用的类则设置为64位。试着看这个问题和这个也是..在他们之间,你应该能解决你的问题。

手掌心

可能是在服务器上部署后,您的网站正面临问题。然后,需要调整应用程序池以启用32位应用程序。步骤:打开IIS管理器点击应用程序池选择您正在使用的任何应用程序池。从右窗格中,单击“高级设置”。将启用32位应用程序设置为True

HUH函数

我刚刚收到在VisualStudio 2015中运行IISExpress的错误消息。在我的例子中,我需要运行IIS Express的64位版本:工具->选项->项目和解决方案->Web项目选中“将IIS Express的64位版本用于网站和项目”的复选框。
打开App,查看更多内容
随时随地看视频慕课网APP