在launchSettings.json中引用web根目录?

时间:2018-04-11 15:35:18

标签: .net asp.net-mvc

我正在尝试在我的“launchSettings.json”中设置一个环境变量,该变量具有DLL文件的完整路径,该文件位于我的IIS站点web文件夹的根目录中。

如果我将物理路径放在C:\ Projects \ VisualStudio中,它可以工作。“但有没有办法动态引用站点根项目文件夹?

我尝试过没有路径的DLL,比如%IIS_SITES_HOME%,但似乎没有用。

{
  "iisSettings": {
    "windowsAuthentication": false,
    "anonymousAuthentication": true,
    "iisExpress": {
      "applicationUrl": "http://localhost:55270/",
      "sslPort": 0
    }
  },
  "profiles": {
    "IIS Express": {
      "commandName": "IISExpress",
      "launchBrowser": true,
      "environmentVariables": {
        "ASPNETCORE_ENVIRONMENT": "Development",
        "PROFILER_PATH": "Sample.dll"
        // "PROFILER_PATH": "%IIS_SITES_HOME%/Sample.dll"
      }
    },
    "AspNetCoreMvcSample": {
      "commandName": "Project",
      "launchBrowser": true,
      "environmentVariables": {
        "ASPNETCORE_ENVIRONMENT": "Development"
      },
      "applicationUrl": "http://localhost:55271/"
    }
  }
}

我的环境变量名为“PROFILER_PATH”

1 个答案:

答案 0 :(得分:0)

如果DLL是项目的一部分,您需要在项目中正确引用它并将其放在 bin 文件夹中,它将自动获取而无需编写任何代码或设置。< / p>

但是如果DLL只是您的项目将使用的文件,那么最好将它放在某个子文件夹中。无论如何,您不需要对文件夹进行任何设置,只需使用以下方法访问它:

Server.MapPath("~");
//Server.MapPath("~/Sample.dll");

如果您在控制器以外的其他课程中使用,则可以使用:

HttpContext.Current.Server.MapPath("~");
//HttpContext.Current.Server.MapPath("~/Sample.dll");