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

本文关键字:模块 mydll 加载 DLL dll | 更新日期: 2023-09-27 18:15:22

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

我的应用程序使用本地DLL,为了解决参考问题,我将DLL添加到bin/debug (release)文件夹中。我使用DllImport访问它,像这样:

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

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

无法加载DLL ' xptodll.dll':指定的模块不能发现。异常from HRESULT: 0x8007007E)

bin/debug目录下有xptodll.dll和app文件:.exe, .application, .exe。配置,. exe。清单,.pdb。

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

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

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

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