2015-05-21 19 views
2

我有一个ASP.NET项目,我需要的PInvoke以下功能:将本地dll放在ASP.NET项目中的位置?

[DllImport("NetSh.dll")] 
public static extern int RunAsUsr(string pcs_admin, string pcs_user, string pcs_password); 

的问题是,我得到下面的异常时,我调用该函数:

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

所以,在这里我必须把我的DLL,以避免该异常?目前该DLL在我的.aspx文件的同一目录中。

回答

3

它应该位于您的Web应用程序根目录中的bin文件夹中,因为.Net程序集也位于bin文件夹中。

对于网络应用程序bin文件夹是默认的,.Net将搜索files \ configs \ etc。对于Windows应用程序,它将是exe应用程序所在的文件夹。

1

默认情况下,您应该放入项目的Bin文件夹。如果由于某种原因,你不想在那里,你也可以在DLLIMPORT语句中指定DLL的路径。

相关问题