我正在尝试在我的“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”
答案 0 :(得分:0)
如果DLL是项目的一部分,您需要在项目中正确引用它并将其放在 bin 文件夹中,它将自动获取而无需编写任何代码或设置。< / p>
但是如果DLL只是您的项目将使用的文件,那么最好将它放在某个子文件夹中。无论如何,您不需要对文件夹进行任何设置,只需使用以下方法访问它:
Server.MapPath("~");
//Server.MapPath("~/Sample.dll");
如果您在控制器以外的其他课程中使用,则可以使用:
HttpContext.Current.Server.MapPath("~");
//HttpContext.Current.Server.MapPath("~/Sample.dll");