DLLImport在哪里查找非托管DLL?

问题描述:

一个简单的问题:当在.Net中声明DLLImport属性时,运行时会在哪里解决该DLL依赖关系?我是否需要将DLL和所有依赖关系转储到bin文件夹中?DLLImport在哪里查找非托管DLL?

我认为它正在像调用LoadLibrary。

也许Windows path searching in LoadLibrary with manifest将是有益的。

编辑Dynamic-Link Library Search Order可能是你想要的。

+0

让我们假设,我有一个插件子文件夹的应用程序。在插件中,我有一个程序集,它使用DllImport从DLL中导入本地函数,该DLL也位于此文件夹中。 Windows会查看这个目录,还是只会查看应用程序的根目录? – Spook 2013-02-19 18:18:57

通常,您会希望它查看用户路径中定义的内容。

要找出这包含,在命令提示符下,键入echo %PATH% [Enter]键