dllimport无法加载dll

时间:2009-06-04 10:07:20

标签: dll dllimport

我发现Stack Overflow是我们所有澄清中最好的一组。我有用C语言编写的本机dll。我使用VC ++编译了proj(VS 2008),使用我的C#应用​​程序我通过Dllimport调用了dll函数。问题是它无法加载DLL。它说无法加载DLL。

我已经编译到x86到x64的平台我的dll和我的应用程序。如果你们帮助我解决这个问题,那将是非常好的。

是否有可能检查dll未加载的原因。

提前致谢。

3 个答案:

答案 0 :(得分:1)

尝试使用sysinternal的Process Monitor查看应用程序从哪里加载dll。

LoadLibrary的Win32文档链接details,了解它如何搜索dll。

答案 1 :(得分:1)

我在这些方面遇到过一次问题。我有一个C ++ DLL作为一个硬件的接口,我需要从C#调用。但是,如果没有插入硬件,它将无法通过DllImport调用。这是因为DLL初始化函数返回失败,所以C#只是说它无法加载DLL,它可能与那里没有关系DLL是。

在C代码中设置DLL时,请检查是否没有引起某种错误。

答案 2 :(得分:0)

Dependency Walker是分析dll用于加载的东西的好工具。 对于本机可执行文件,它也可以加载exe并使用“Profile”菜单项 甚至显示使用延迟加载加载的dll,如果没有显示 只是加载了DLL。