在ASP.NET项目中放置本地dll的位置?

时间:2015-05-21 08:53:03

标签: c# asp.net exception dll pinvoke

我有一个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文件的同一目录中。

2 个答案:

答案 0 :(得分:3)

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

对于网络应用bin文件夹是默认的.net将搜索文件\配置\等。对于Windows应用程序,它将与exe应用程序所在的文件夹相同。

答案 1 :(得分:1)

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