我有一个简单的C DLL(不是COM)。我还有一个运行它的C#2.0应用程序(dllimport)。 dll放在应用程序的exe中。我知道dll是可以的,而且我的应用程序称它成功读取它,但是当我将它们移动到另一台计算机时它说它可以加载dll。
错误:“无法加载dll name.dll。此应用程序无法启动,因为应用程序配置不正确。”
我使用visual studio 2005来创建dll。目标计算机是一个并排的计算机。 当我拿着并排的文件夹包含它没有运行的CRT。 感谢
答案 0 :(得分:4)
C Dll可以有各种依赖关系。尝试使用Dependency Walker工具确定是否有任何一个。
答案 1 :(得分:2)
Windows可能检测到您的应用程序存在并行版本配置问题。
例如,C dll通常将针对特定版本的Microsoft C运行时库进行编译,该库可能未安装在您的第二台计算机上。它也不一定是C运行时库,也可能是其他库。
如何诊断?
查看这篇文章http://blogs.msdn.com/junfeng/archive/2006/04/14/576314.aspx作为起点,虽然没有保证。
答案 2 :(得分:0)
我从人们写的评论中使用了很多,他们是对的。我使用:Dependency Walker工具和进程监视器和进程资源管理器。我有一个问题,就是我的应用程序在运行时没有检测到正确的msvr80。 我在VC ++ amd没有帮助的情况下安装了可分发的软件包。 answear在这里进行了另一次讨论,Side-by-side configuration error (Microsoft.VC80.CRT v8.0.50608.0) 这是安全更新的问题:Microsoft.VC80.CRT v8.0.50727.4053(通过安全更新安装)。