臭名昭著的无法加载文件或程序集“filename.dll”或其依赖项之一。
当客户端尝试运行我在 VS2012 中开发的混合 c/c++/c# 应用程序时,我收到此错误。我使用 Process Monitor 来准确查看哪些模块没有被加载并得到一些奇怪的结果。
在安装了 VS2012 的开发人员计算机上,一切运行正常。客户端计算机没有安装任何 Visual Studio,但它们确实具有 .NET 4.0 和 Redistributable 更新。
由于某种原因,当程序在客户端计算机上运行时,会查询一些 C:\Windows\Microsoft.NET\assembly\GAC_MSIL\System(*.INI) 文件。由于这些是唯一不存在的文件,我相当有信心这是问题所在。
现在,为什么在开发人员计算机上运行时这些文件不被查询,但是当在客户端计算机上运行时这些文件变得必需?