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



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

尝试运行项目时出错:无法加载文件或程序集"project.exe"或其依赖项之一
模块应包含程序集清单。

当我从调试文件夹运行exe时,我得到了这个错误:

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

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

模块应包含程序集清单

这是一个低级别的程序集加载问题。CLR找到了一个名称正确的文件,但当它尝试加载程序集时,会发现该文件不包含正确的清单。.NET程序集必须包含清单,它包含描述程序集的元数据、列出程序集中的类型等。

如果你不知道什么EXE或DLL可能是麻烦制造者,那么你可以使用Fusilogvw.EXE实用程序:

  1. 从"Visual Studio命令提示符"启动它
  2. 单击"设置"按钮,然后单击"将绑定失败记录到磁盘"单选按钮
  3. 切换回VS并启动程序,等待异常发生
  4. 返回到Fusilogvw,单击"刷新"按钮并双击添加的条目
  5. 它会显示它找到的文件

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

在我的情况下,我只是在项目属性中更改目标框架(.Net Framework 4)。它解决了问题。

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

在我的情况下,只需转到项目属性并设置-->启动对象projectname.program和构建-->平台目标-->x86就可以修复它。

我只是通过重新启动系统以及在项目属性中为多用户设置的组合框启动选项来解决这个问题。希望这将有助于u。

0xc000007b为"STATUS_INVALID_IMAGE_FORMAT"。根据经验,这将我引向项目属性。一些值得一看的东西:

  • 检查是否所有生成选项都设置为x86或x64,具体取决于您的系统体系结构或AnyCPU
  • 如果您正在使用dll,请考虑它们是否是为您的目标体系结构编译的。如果没有,那么相应地重新编译它们,或者从任何地方获得正确的版本
  • 最后,检查项目程序集和加载的程序集是否具有不同的名称。这似乎也让事情变得繁荣起来

最新更新