无法加载 DLL“xxxx.dll”: 找不到指定的模块。 (异常来自 HRESULT:0x8007007E)。

连着一个周都在调用DLL文件报错,问题各不相同,所以记录下,如果有同学尝试这些方法都不能解决,请叫上我一起研究研究

方法一:右键项目属性,选择生成-平台目标为x86

方法二:检验自己项目Debug目录下的xxxx.dll是否有并且是自己需要调用的完好的DLL文件,可以先备份后使用depends.exe打开检查。

方法三:如果使用DllImport的时候有在Debug目录下额外创建自目录,并填写了子目录路径,尝试将DLL文件放入Debug目录下直接引用,有些DLL文件需要和exe运行文件同目录才能导入(这是个坑)。

方法四:尝试将DLL文件放入系统目录下使用,将相对路径改为绝对路径使用C:\Windows\SysWOW64\xxxx.dll。

方法五:使用depends.exe查看xxxx.dll的依赖项,下载缺失的依赖项到Debug或C盘目录下(我好几次就是这样解决的)。

方法六:特殊情况,这个DLL文件其实是个COM组件,此时需要将xxxx.dll拷贝到(x86系统)C:\Windows\System32或(x64系统)C:\Windows\SysWOW64目录下,然后打开CDM运行regsvr32 xxxx.dll指令(如果失败,可以创建.bat文件将指令写入后使用管理员身份运行,我在Win10遇到一个DLL文件就只能这样注册),然后引用的时候DllImport并不好用,需要在项目的引用目录下,右键添加引用,选择COM组件,搜索并选择xxxx.DLL点击确认以添加引用。
之后直接就可以使用该DLL的内部函数了。

你可能感兴趣的:(查问题)