2017-07-25 122 views
1

我试图通过DllImport方法加载一个非托管dll(C++),但得到的是异常。DLLnotfoundexception:无法加载DLL'Pine.dll':无法找到指定的模块。 (异常来自HRESULT:0x8007007E)

无法加载DLL'Pine.dll':无法找到指定的模块。 (异常来自HRESULT:0x8007007E)

我已经将我的dll放在路径bin \ Debug \(我在调试模式下运行)。但是我得到了这个dllnotfoundexception。

格式化我的电脑和新安装的VS2015之前,它工作正常。但是,当我重新安装我的操作系统并安装了VS-2015时,它给出了这个错误。我是否缺少任何支持DllImport的dll或其他东西?

任何帮助表示赞赏。

+0

你可能想看看这个https://stackoverflow.com/questions/9003072/unable-to-加载的dll模块可以 - 不被发现的,HRESULT,将0x800 7007e – Shocked

回答

0

从我记得在Windows上的DLL搜索顺序是:

当前目录 系统文件夹,C:\ Windows \ System32或C:在64 \ WINDOWS \ SysWOW64中(32位进程位框)。 从Path环境变量 读另外我会检查DLL的依赖,步行者提供与Visual Studio的依赖可以帮助你在这里,它也可以免费下载:http://www.dependencywalker.com

0

您可以检查什么当前目录是与Environment.CurrentDirectory

class Program 
{ 
    static void Main(string[] args) 
    { 
     Console.WriteLine(Environment.CurrentDirectory); 
    } 
} 

这是从的Bin \ Debug目录可能不同

+0

Environment.CurrentDirectory这也指向相同的目录。 –

相关问题