0

臭名昭著的无法加载文件或程序集“filename.dll”或其依赖项之一。

当客户端尝试运行我在 VS2012 中开发的混合 c/c++/c# 应用程序时,我收到此错误。我使用 Process Monitor 来准确查看哪些模块没有被加载并得到一些奇怪的结果。

在安装了 VS2012 的开发人员计算机上,一切运行正常。客户端计算机没有安装任何 Visual Studio,但它们确实具有 .NET 4.0 和 Redistributable 更新。

由于某种原因,当程序在客户端计算机上运行时,会查询一些 C:\Windows\Microsoft.NET\assembly\GAC_MSIL\System(*.INI) 文件。由于这些是唯一不存在的文件,我相当有信心这是问题所在。

现在,为什么在开发人员计算机上运行时这些文件不被查询,但是当在客户端计算机上运行时这些文件变得必需?

4

1 回答 1

0

您可以使用 fusion 实用程序(程序集绑定日志查看器)来确定问题以管理员身份运行命令提示符,fuslogvw.exe 此工具将帮助您确定程序中所有引用的程序集调用,包括损坏的引用。在尝试解决一些未映射的国际奥委会注册表时,它帮助了我很多。

你可以在这里了解更多信息 http://msdn.microsoft.com/en-us/library/e74a18c4.aspx

于 2013-09-04T00:10:27.167 回答