12

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

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

当我从调试文件夹运行 exe 时,出现此错误:

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

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

4

6 回答 6

28

该模块应包含程序集清单

这是一个低级程序集加载问题。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。

于 2012-11-22T20:59:24.783 回答
5

就我而言,我只是在项目属性中更改目标框架(.Net Framework 4)。它解决了这个问题。

于 2012-11-29T13:29:13.680 回答
2

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

于 2013-12-18T17:17:13.310 回答
0

0xc000007b 是“STATUS_INVALID_IMAGE_FORMAT”。根据经验,这将我指向项目属性。一些值得检查的事情:

  • 检查所有构建选项是否设置为 x86 或 x64,具体取决于您的系统架构或 AnyCPU。
  • 如果您使用的是 dll,请考虑它们是否是为您的目标架构编译的。如果没有,则相应地重新编译它们,或者从你得到它们的地方得到正确的版本。
  • 最后,检查您的项目程序集和加载的程序集是否具有不同的名称。这似乎也让事情变得繁荣起来。
于 2012-11-28T07:48:35.503 回答
0

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

于 2013-06-17T11:50:01.137 回答
0

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

于 2013-12-05T06:13:56.710 回答