我有一个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
文件的同一目录中。
答案 0 :(得分:3)
它应位于您网络应用根目录的bin
文件夹中,因为您的.Net程序集也位于bin
文件夹中。
对于网络应用bin
文件夹是默认的.net将搜索文件\配置\等。对于Windows应用程序,它将与exe
应用程序所在的文件夹相同。
答案 1 :(得分:1)
默认情况下,您应该放入项目的Bin文件夹。如果由于某种原因你不想要它,你也可以在DLLIMPORT语句中指定DLL的路径。