无法加载DLL:找不到指定的模块

时间:2017-03-27 15:49:30

标签: c# .net dll

我在C#程序中遇到了一个常见的问题。

我一直在网上寻找很多地方,并提出不同的解决方案。到目前为止,ALL已经失败了。

我遇到过这篇文章并尝试了他们无法解决的解决方案: Unable to load DLL The specified module could not be found

我下载了依赖性走路,看看我是否遗漏了任何其他dll,它报告我是,但那些dll是win-API dll。根据此链接:https://social.msdn.microsoft.com/Forums/en-US/a28331ae-19a3-4a34-b3ba-1e8fd4430375/missing-apimswincore-dlls,如果依赖步行者报告缺少这些链接,则无关紧要。

我还下载并安装了VC ++ redistribute 2015 x64和x86,我仍然收到同样的错误。

还有另一篇文章建议我安装Windows SDK。我为Windows 10做了这个,但仍然是同样的错误。(Missing dlls on 64 bit Win)。

我甚至尝试将dll放在system32文件夹中,但是没有问题

我对如何解决它的想法已经不多了所以如果其他人遇到同样的问题,我们将不胜感激。

对于那些想知道的人,我使用VS2015在win 10上开发。

编辑:

我正在使用的DLL名称为:SLABHIDtoUART.dll

我导入功能的代码如下:

[DllImport("SLABHIDtoUART.dll")]
        public static extern int HidUart_GetNumDevices(ref uint numDevices, ushort vid, ushort pid);

这是确切的错误:

System.DLLNotFoundException: Unable to load DLL 'SLABHIDtoUART.dll': The specified module could not be found (Exception from HRESULT: 0x8007007E)

哦,我确实将VS中的编译器设置从任何CPU更改为x86。从技术上讲,我默认没有这个选项,我需要为x86添加一个新选项。在使用x86编译器重新编译之后,该程序似乎仍然无法正常工作。

我甚至移动了SLAB dll所依赖的所有DLL并运行程序,程序仍然没有运行。 (SLAB DLL依赖于hid.dll,setupapi.dll和kernal32.dll)

1 个答案:

答案 0 :(得分:2)

我为没有发布此问题的更新而道歉!

我最终弄明白了这个问题。看起来我使用的是64位版本的dll用于32位应用程序。一旦我加载了32位版本的dll,我就可以编译而没有任何问题!