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

时间:2014-07-22 15:54:17

标签: c# .net pinvoke

我遇到了例外:

Unable to load DLL 'MyDll.dll': The specified module could not be found. (Exception from HRESULT: 0x8007007E)

正如Unable to load DLL (Module could not be found HRESULT: 0x8007007E)的答案所暗示的那样,我们希望将非托管dll与所有托管dll一起保留在当前目录中(它就在那里)。出于调试目的,我如何打印将用于加载dll的当前目录?是Directory.GetCurrentDirectory()吗?

1 个答案:

答案 0 :(得分:0)

您可以使用Environment.CurrentDirectory获取应用程序的当前工作目录。这应该给你想要的。

Assembly.GetExecutingAssembly()。Location将返回包含当前正在执行的可执行文件或DLL的目录。

可以通过FileDialogs和其他类更改CurrentDirectory。因此,它可能与包含应用程序入口点的目录不同。