Unable to load dll HRESULT 异常解决方法

.Net技术 码拜 12年前 (2013-04-21) 1593次浏览 0个评论

做项目时,需要用到一个非托管的DLL库,使用.NET的互操作技术可以很方便的调用位于非托管DLL中的
函数。但是在执行时遇到了下面的错误:“Unable to load dll HRESULT: 0x8007007E”。于是马上google,
得到的大部分答案都是可以将要用到的dll文件拷贝到C:/WINDOWS/system32目录下即可。马上试验了一下,
结果还是不行,于是继续google,在MSDN的论坛上发现了这个帖子(http://social.msdn.microsoft.com/Forums/zh-CN/csharpgeneral/thread/6793785a-ec98-4453-a62b-f1a85195ec05?Thread%3A6793785a-ec98-4453-a62b-f1a85195ec05=Microsoft.Forums.Data.Models.Discussion&ThreadViewModel%3A6793785a-ec98-4453-a62b-f1a85195ec05=Microsoft.Forums.CachedViewModels.ThreadViewModel)

The DLL might itself require some other DLL. In case of doubt, use Dependency Walker…

意思是这个dll引用了其他dll,由于找不到它所引用的dll,因此出错。这个帖子的妙处在于他还告诉了我们一
个非常实用的工具Dependency Walker(官方网站:http://www.dependencywalker.com/)。使用它我们可以找到某个dll所依赖的其他dll文件,而且它不但可以检
测传统的dll库,也可以检测.NET下的程序集。

不过,在遇到这种问题的时候,我们首先应该考虑的方法还是将要引用的DLL文件全都放到当前程序文件的
bin目录的Debug下.如果不行,再采用上述方法。

参考:http://www.cnblogs.com/daocaoren/archive/2011/10/31/2229961.html

Unable to load dll HRESULT 异常解决方法

查找方式:首先到运行路径下找,再到path指定的路径下找


CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明Unable to load dll HRESULT 异常解决方法
喜欢 (0)
[1034331897@qq.com]
分享 (0)

文章评论已关闭!