无法加载 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的内部函数了。

  • 13
    点赞
  • 33
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值