无法加载DLL'mydll.dll':找不到指定的模块

时间:2011-11-19 15:10:39

标签: c# visual-studio-2010 dll dllimport

在我开发WPF应用程序的笔记本电脑上,一切正常,调试并启动.exe应用程序。

我的应用程序使用本机DLL,以解决我在bin / debug(release)文件夹中添加DLL的引用问题。我使用DllImport访问它,如下所示:

[DllImport("xptodll.dll", CallingConvention = CallingConvention.Cdecl)]
public static extern int LDA_About();

问题是当我尝试在另一台PC上运行.exe应用程序时,当我需要访问DLL时它会崩溃。我创建一个句柄来记录任何未处理的异常,并出现以下错误:

  

无法加载DLL'xptodll.dll':指定的模块无法加载   找到。来自HRESULT的异常:0x8007007E)

bin / debug目录有xptodll.dll和app文件:.exe,.application,.exe.config,.exe.manifest,.pdb。

也许这很重要,xptodll.dll与硬件交互,但为什么它们在两台机器上都没有相同的行为?

2 个答案:

答案 0 :(得分:15)

可能存在一些失败的进一步依赖。我的猜测是xptodll.dll本身依赖于故障机器上缺少的其他库。 xptodll.dll的文档应该解释需要哪些依赖项。如果文档没有明确缺失的内容,您可以使用Dependency Walker自行诊断问题。

答案 1 :(得分:3)

另一个问题可能是(除了所有这些"将DLL置于正确的位置")如果DLL是使用Visual Studio创建的,例如。必须安装Visual Studio 2012,也必须安装64位VCRedistributable(vcredist_x64.exe),由Visual Studio提供。