【发布时间】:2009-11-24 19:44:53
【问题描述】:
我正在尝试加载第 3 方 DLL,但在尝试加载时出现错误。在 Dependency Walker 中打开它显示 DLL 仅依赖于 kernel32.dll 和 msvcr90.dll。但是,打开此 DLL 时,我在 Dependency Walker 中收到以下错误:Error The Side-by-Side configuration information for [full path to the dll that I am loading] contains errors. This application has failed to start because the application configuration is incorrect. Reinstalling the application may fix this problem (14001).
系统上唯一存在的 msvcr90.dll 副本是我复制到包含我的第三方 DLL 的目录中的副本。我在另一台机器上遇到了一个非常相似的问题,并安装了 Microsoft 的 Visual C++ 2008 Redistributable 包修复了它。但是,我真的需要深入了解这一点,因为我无法在需要运行它的所有机器上安装可再发行包。
我还尝试在 Visual Studio 中打开第三方 DLL 并检查其清单。在其中我可以看到它明确依赖于 Visual C 运行时库的 SP0 版本:
<assemblyIdentity type="win32" name="Microsoft.VC90.CRT" version="9.0.21022.8" processorArchitecture="x86" publicKeyToken="1fc8b3b9a1e18e3b"></assemblyIdentity>
但是,将确切版本的 DLL 复制到有问题的机器上仍然不能解决问题。什么给了?
【问题讨论】:
标签: visual-studio dll