在 ASP.NET 项目中将本地 dll 放在哪里?

Where to place local dll in a ASP.NET project?

我有一个 ASP.NET 项目,我需要在其中调用以下函数:

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

问题是当我调用该函数时出现以下异常:

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

那么,为了避免异常,我必须将我的 dll 放在哪里?目前 dll 与我的 .aspx 文件位于同一目录中。

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

对于 Web 应用程序,bin 文件夹是默认文件夹,.Net 将在其中搜索 files\configs\etc。对于 windows 应用程序,它将与 exe 应用程序所在的文件夹相同。

默认情况下,您应该将其放入项目的 Bin 文件夹中。如果出于某种原因您不希望它存在,您还可以在 DLLIMPORT 语句中指定 DLL 的路径。