繁体   English   中英

当前文件夹中的.dll的DllNotFoundException

[英]DllNotFoundException for .dll which is in current folder

每当我的应用程序尝试使用DLL中存在的功能时,我都为.dll获得了System.DllNotFoundException,该文件与可执行文件位于同一文件夹中。 奇怪的是,它仅发生在一个用户的PC上; 它可以在我的开发PC上正常工作,也可以在我尝试过的一台非开发PC上正常工作。 另外,还有一些的文件夹中其他DLL 被发现并使用正确。 有问题的DLL是一个本机库,我的应用程序通过另一个DLL(本机库的ac#包装器)引用了该DLL。

我最初的直觉是,此DLL必须引用其他某些库,该库在有问题的PC上不存在,但是我无法想象该PC可能缺少其他非开发PC所拥有的库。

所以我的问题是:有没有一种方法可以确定给定DLL文件的依赖性? 请记住,所讨论的DLL是本机库(即非托管代码),并且我无权访问其源代码。 如果事实证明没有缺少依赖项,那么还有什么可能导致此类问题?

对于非托管dll,您可以使用Dependency Walker查找依赖关系。

我建议使用ILSpy打开dll并先查看其依赖项。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM