C# 无法加载DLL:找不到指定的模块
我在我的C#程序中遇到了一个似乎很常见的问题 我一直在网上很多地方寻找不同的解决方案。到目前为止,所有这些都失败了 我看到了这篇文章,并尝试了他们的解决方案,但没有成功: 我下载了Dependency Walk,看看我是否丢失了任何其他DLL,它报告说我丢失了,但这些DLL是win API DLL。根据下面的链接:,如果dependency walker报告这些数据丢失,这并不重要 我还下载并安装了VC++redistribute 2015 x64和x86,我仍然收到相同的错误 还有一篇帖子建议我安装WindowsSDK。我在Windows10上做了一次又一次,仍然是同样的错误 我甚至尝试过将dll放在system32文件夹中,但同样没有问题 我已经没有办法解决这个问题了,所以如果其他人遇到同样的问题,我们将不胜感激 对于那些想知道的人,我正在使用VS2015开发win 10 编辑: 我正在使用的DLL的名称称为:SLABHIDtoUART.DLL 我导入函数的代码如下所示:C# 无法加载DLL:找不到指定的模块,c#,.net,dll,C#,.net,Dll,我在我的C#程序中遇到了一个似乎很常见的问题 我一直在网上很多地方寻找不同的解决方案。到目前为止,所有这些都失败了 我看到了这篇文章,并尝试了他们的解决方案,但没有成功: 我下载了Dependency Walk,看看我是否丢失了任何其他DLL,它报告说我丢失了,但这些DLL是win API DLL。根据下面的链接:,如果dependency walker报告这些数据丢失,这并不重要 我还下载并安装了VC++redistribute 2015 x64和x86,我仍然收到相同的错误 还有一篇帖子建
[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)我很抱歉没有发布此问题的更新
我最终解决了这个问题。看起来我是在为32位应用程序使用64位版本的dll。一旦我加载了32位版本的dll,我就可以毫无问题地编译了 未加载的DLL的名称是什么?您没有提供足够的详细信息。举个例子,你说的是哪个DLL。我没有说这个DLL,因为它是由一个设备制造商提供的。但是,我将编辑文章以包含dll。你能推荐我在-3中做的任何其他更改吗?运行fuslogvw-它将显示clr在哪里尝试查找DLL?你尝试强制使用x64了吗?我相信C#调试模式程序的默认模式是x32。