DllImport拒绝找到我的本地.dll。 引发DllNotFoundException

我有一个引用本地dll的项目。 我将.dll添加到项目中,并将其设置为'如果更新,则复制',以便它显示在输出目录中。 每次我尝试调用导出的函数时,都会抛出未找到的错误。

我做了一些小小的研究,发现可能.dll找不到它的依赖关系。 我使用dependency walker来检查并且列出的唯一依赖项是Kernel32.dll和MSCVR80.DLL。 这两个都是在我的系统中找到的。

我使用了dumpbin.exe并查看了所有导出的函数,因此它似乎是格式正确的.dll文件。 我无法弄清楚为什么DllImport无法找到它。

我也将DLL放在不同的目录中,并将其添加到我的路径中。 这也没有帮助。 有人有主意吗? 还有什么我可以尝试?


使用Sysinternals工具的进程监视器(http://technet.microsoft.com/en-us/sysinternals/bb896645.aspx)查看访问的内容。 只能通过流程进行过滤(否则您将获得太多数据)并查看实际失败的请求。 这应该给你一个想法寻找什么。

链接地址: http://www.djcxy.com/p/44537.html

上一篇: DllImport is refusing to find my native .dll. Throws DllNotFoundException

下一篇: How can I specify a [DllImport] path at runtime?