关于无法加载DLL"***.dll":找不到指定的模块(异常来自HRESULT:0x8007007E)问题的解决办法
Posted 连一粝的博客
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于无法加载DLL"***.dll":找不到指定的模块(异常来自HRESULT:0x8007007E)问题的解决办法相关的知识,希望对你有一定的参考价值。
最近在编写C#代码的过程中,遇到此问题,网上查找资料后,终于解决了此问题。现将解决方法记录下来,以便以后查看。注:此方法未必能解决所有这类问题,仅供参考。
通常在以下情况下会出现这种异常:
(1)想要在64的系统上运行32位的应用程序并且没有WOW64(Windows-on-Windows 64-bit)子系统的存在。
(2)在编写运行在64位操作系统平台的应用程序时,调用DLL并且此DLL也是在64位操作平台下生成的,此时将有可能出现这类问题(我所遇到的情况)。
解决方法:
方法1:找到这个无法加载的DLL(自动生成或网上下载),然后将此DLL的副本放到C:\Windows\System32的目录下即可。
注:关于WOW64模式
WOW64 (Windows-on-Windows 64-bit)是一个Windows操作系统的子系统, 它为现有的 32 位应用程序提供了 32 位的模拟环境,可以使大多数 32 位应用程序在无需修改的情况下运行在 Windows 64 位版本上。WOW64 是在用户模式下实现的,作为 ntdll.dll 和内核之间的层。WOW64 及其支持的一些 DLL 仅仅是可以加载到 32 位进程中的 64 位的 DLL。对于所有其他情况,进程保持为纯进程。32 位的进程无法加载 64 位的 DLL,反之亦然。
以上是关于关于无法加载DLL"***.dll":找不到指定的模块(异常来自HRESULT:0x8007007E)问题的解决办法的主要内容,如果未能解决你的问题,请参考以下文章
[解决异常] 未经处理的异常 "无法加载 DLL“lib/xxx.dll”: 找不到指定的模块"
SQLITE无法加载 DLL"SQLite.Interop.DLL";由于应用程序配置不正确,应用程序未能启动
奇怪的 Haskell 'stack' 错误:“无法加载 .so/.DLL”“不是可写段”
Azure SQL 托管实例错误“无法加载 DLL odsole70.dll 或其引用的 DLL 之一”
win10关于Intel Optane(tm) Memory Pinning 无法加载DLL”iaStorAfsServiceApi.dll”:找不到指定模块报错解决方法