关于无法加载DLL"***.dll":找不到指定的模块(异常来自HRESULT:0x8007007E)问题的解决办法
2016-07-27 14:46
1156 查看
最近在编写C#代码的过程中,遇到此问题,网上查找资料后,终于解决了此问题。现将解决方法记录下来,以便以后查看。注:此方法未必能解决所有这类问题,仅供参考。
通常在以下情况下会出现这种异常:
(1)想要在64的系统上运行32位的应用程序并且没有WOW64(Windows-on-Windows 64-bit)子系统的存在。
(2)在编写运行在64位操作系统平台的应用程序时,调用DLL并且此DLL也是在64位操作平台下生成的,此时将有可能出现这类问题(我所遇到的情况)。
解决方法:
方法1:找到这个无法加载的DLL(自动生成或网上下载),然后将此DLL的副本放到C:\Windows\System32的目录下即可。
方法2:参考此链接中的解决方法。http://www.xmxwl.net/help/member/20150623/13521.html
注:关于WOW64模式
WOW64 (Windows-on-Windows 64-bit)是一个Windows操作系统的子系统,
它为现有的 32 位应用程序提供了 32 位的模拟环境,可以使大多数 32 位应用程序在无需修改的情况下运行在 Windows 64 位版本上。WOW64 是在用户模式下实现的,作为 ntdll.dll 和内核之间的层。WOW64 及其支持的一些 DLL 仅仅是可以加载到
32 位进程中的 64 位的 DLL。对于所有其他情况,进程保持为纯进程。32 位的进程无法加载 64 位的 DLL,反之亦然。
详细信息请参考:http://baike.baidu.com/subview/826224/826224.htm
通常在以下情况下会出现这种异常:
(1)想要在64的系统上运行32位的应用程序并且没有WOW64(Windows-on-Windows 64-bit)子系统的存在。
(2)在编写运行在64位操作系统平台的应用程序时,调用DLL并且此DLL也是在64位操作平台下生成的,此时将有可能出现这类问题(我所遇到的情况)。
解决方法:
方法1:找到这个无法加载的DLL(自动生成或网上下载),然后将此DLL的副本放到C:\Windows\System32的目录下即可。
方法2:参考此链接中的解决方法。http://www.xmxwl.net/help/member/20150623/13521.html
注:关于WOW64模式
WOW64 (Windows-on-Windows 64-bit)是一个Windows操作系统的子系统,
它为现有的 32 位应用程序提供了 32 位的模拟环境,可以使大多数 32 位应用程序在无需修改的情况下运行在 Windows 64 位版本上。WOW64 是在用户模式下实现的,作为 ntdll.dll 和内核之间的层。WOW64 及其支持的一些 DLL 仅仅是可以加载到
32 位进程中的 64 位的 DLL。对于所有其他情况,进程保持为纯进程。32 位的进程无法加载 64 位的 DLL,反之亦然。
详细信息请参考:http://baike.baidu.com/subview/826224/826224.htm
相关文章推荐
- 如何重装TCP/IP协议
- Windows 8 官方高清壁纸欣赏与下载
- 谁是桌面王者?Win PK Linux三大镇山之宝
- 对《大家都在点赞 Windows Terminal,我决定给你泼一盆冷水》一文的商榷
- Windows Clang开发环境备忘
- c#调用COM组件
- 从Windows系统下访问Linux分区相关软件
- 对《大家都在点赞 Windows Terminal,我决定给你泼一盆冷水》一文的商榷
- Windows下搭建本地SVN服务器
- 使用Windows原生命令一键清空剪贴板
- windows用windeployqt发布qt quick application程序
- 利用开源软件打造自己的全功能远程工具
- Windows 8虚拟机不能全屏的解决方法
- 虚拟化基础架构Windows 2008篇之1-虚拟化基础服务概述
- 虚拟化基础架构Windows 2008篇之5-安装Windows部署服务
- 虚拟化基础架构Windows 2008篇之7-添加其他操作系统的安装镜像
- 虚拟化基础架构Windows 2008篇之9-配置Windows部署服务
- 虚拟化基础架构Windows 2008篇之12-WSUS工作站端配置