【发布时间】:2011-02-27 21:58:00
【问题描述】:
我知道您需要打开“本机代码”调试器才能进入 pinvoke 的 dll,但我什至没有达到这一点。相反,当我尝试进入 dll 时,我得到了以下异常
“无法加载 DLL 'Native.dll':找不到指定的模块。(来自 HRESULT 的异常:0x8007007E)”
如果我检查我的模块,我会发现我所在的当前 .Net dll 位于: C:\Windows\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\project\c4e2b8a9\1234a123\assembly\d12\de123456\12345678_0304cb01\dotnet.dll
因此,我没有找到我的 pinvoked dll 是有道理的,因为它在此路径中不存在。我怎样才能做到这一点,以便当我的代码从“临时 ASP.Net 文件”位置运行时,它会看到我的 pinvoked dll? (没有硬编码路径)。
目前我的声明如下:
[DllImport("Native.dll")]
public static extern int RunTest();
编辑:
我发现了一个类似的问题,并提出了一些很好的建议。 Unmanaged DLLs fail to load on ASP.NET server
【问题讨论】:
-
尝试放到Windows或system32目录下。