首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >无法加载文件或程序集.尝试加载格式不正确的程序(System.BadImageFormatException)。

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

Stack Overflow用户
提问于 2012-07-06 22:14:38
回答 30查看 598.9K关注 0票数 505

我有两个项目,ProjectAProjectBProjectB是一个依赖于ProjectA的控制台应用程序。昨天,一切都很好,但突然间,当我运行ProjectB时,我得到了以下信息:

BadImageFormatException是未处理的: 无法加载文件或程序集“ProjectA、Version=1.0.0.0、Culture=neutral、PublicKeyToken=null”或其依赖项之一。试图加载格式不正确的程序。

这两个项目都只是常规项目,不依赖于任何其他非.NET项目。两者都是完全.Net的--没有本机代码,也没有P/Invoke。我有其他的项目,这些项目依赖于ProjectA,而且工作仍然很好。

我尝试过的事情:

  • 确保两个项目都设置为“任意CPU”,并选中“构建”复选框。他们是。
  • 确保两个项目都适用于相同的目标框架(.Net 4.0客户端配置文件)。
  • 在ProjectB -> References > ProjectA -->属性下,确保“复制本地”设置为"True“_(我验证了ProjectA.dll被正确复制)
  • 清理/重建解决方案。我甚至尝试手动删除两个项目中的/bin和/obj文件夹。
  • 重新启动Visual。重新启动我的电脑。
  • 查看一个全新的存储库副本。

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

EN

回答 30

Stack Overflow用户

回答已采纳

发布于 2012-07-07 01:47:49

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

票数 781
EN

Stack Overflow用户

发布于 2013-12-11 17:00:50

可能是您在服务器上部署后,您的网站正面临问题。

然后,您需要调整应用程序池以使启用32位应用程序

步骤

  1. 打开IIS管理器
  2. 点击应用程序池
  3. 选择正在使用的任何应用程序池。
  4. 从右窗格中,单击“高级设置”。
  5. 将启用32位应用程序设置为True

票数 239
EN

Stack Overflow用户

发布于 2016-06-06 20:09:37

我刚刚收到在Visual 2015中运行的错误消息。在我的例子中,我需要运行IIS Express的64位版本:

工具→选项→项目和解决方案→网络项目 选中“将IIS Express的64位版本用于网站和项目”的复选框。

截图:

票数 184
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11370344

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档