尝试运行项目时出现错误:模块应包含程序集清单。

14

当我尝试运行项目时,它会显示:

在尝试运行项目时出现错误:无法加载文件或程序集 'Project.exe' 或其某个依赖项。
该模块应包含一个程序集清单。

我从调试文件夹中运行exe时,出现了以下错误:

应用程序无法正确启动(0xc000007b)

我还重新安装了Visual Studio,但似乎没有起作用!

6个回答

29
模块应该包含程序集清单。
这是一个低级程序集加载问题。CLR已经找到了一个正确命名的文件,但当它尝试加载程序集时,发现该文件不包含适当的清单。.NET程序集必须包含一个清单,其中包含描述程序集的元数据,列出程序集中的类型等。
如果您不知道哪个EXE或DLL可能是问题制造者,那么您可以使用Fuslogvw.exe实用工具
  1. 从“Visual Studio命令提示符”启动它。
  2. 单击“设置”按钮,然后单击“将绑定失败记录到磁盘”单选按钮。
  3. 切换回VS并启动程序,等待异常发生。
  4. 返回到Fuslogvw,单击“刷新”按钮,然后双击添加的条目。
  5. 它会显示您找到的文件。

有几种可能性,现在常见的一种是尝试使用CLR版本2请求EXE加载.NET 4程序集。这需要一个app.exe.config文件来强制使用CLR 4。


尝试使用要求CLR版本2的EXE加载.NET 4程序集。这需要一个app.exe.config文件,强制使用CLR 4。- 这是我的问题。 - Motomotes
2
顺便提一下,如果Hans所说的单选按钮被禁用了,您需要以管理员身份运行Fuslogvw.exe - Maghoumi

5
在我的情况下,我只需要在项目属性中更改目标框架(.Net Framework 4),就可以解决这个问题。

我尝试了这个,但对我没有用,似乎没有解决方案:),我只能更换Windows。 - KF2
2
在我的情况下,目标框架是“.Net Framework 4客户端配置文件”,更改后为“.Net Framework 4”。这解决了我的问题。 - user725388

2

当我使用Vs2012 Ultimate发布Asp.net Mvc4时,遇到了同样的问题,然后上传dll到服务器。我通过将代码构建为“发布”模式,然后将bin文件夹中的所有dll上传到服务器来解决这个问题。


0

0xc000007b是“STATUS_INVALID_IMAGE_FORMAT”。从经验来看,这指向了项目属性。

  • 检查所有构建选项是否设置为x86或x64,具体取决于您的系统架构或AnyCPU。
  • 如果您正在使用dll,请考虑它们是否针对您的目标架构进行编译。如果没有,则相应地重新编译它们或从您获取它们的位置获取正确版本。
  • 最后,请检查您的项目程序集和加载的程序集是否具有不同的名称。这似乎也会导致问题。

0

我刚刚通过重新启动系统来解决了这个问题,同时在项目属性中设置了多用户,并在组合框启动选项中进行了设置。希望这能帮到你。


0
在我的情况下,只需进入项目属性并设置->启动对象项目名称.程序和构建->平台目标->x86即可解决问题。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接