Shr*_*rni 6 iis-express asp.net-core
我希望通过使用命令行从 IIS Express 启动 ASP.NET Core 应用程序来运行它。
\n\n我偶然发现这篇文章说
\n\n\n\n\n因此,实际上 Visual Studio 在启动 IIS Express 时会默默地添加这两个环境变量,以便可以注入 ASP.NET Core 相关位。
\n\nLAUNCHER_ARGS: -debug -p \xe2\x80\x9cC:\\Program Files\\dotnet\\dotnet.exe\xe2\x80\x9d -a \xe2\x80\x9cexec\n \\\xe2\x80\x9dC: \\Users\\lextm\\documents\\visual studio\n 2017\\Projects\\WebApplication2\\WebApplication2\\bin\\Debug\\netcoreapp1.0\\WebApplication2.dll\\\xe2\x80\x9d\ xe2\x80\x9d\n -pidFile \xe2\x80\x9cC:\\Users\\lextm\\AppData\\Local\\Temp\\2\\tmpFD6D.tmp\xe2\x80\x9d -wd \xe2\ x80\x9cC:\\Users\\lextm\\documents\\visual studio\n 2017\\Projects\\WebApplication2\\WebApplication2\xe2\x80\x9d
\n
中的 tmp 文件-pidFile \xe2\x80\x9cC:\\Users\\lextm\\AppData\\Local\\Temp\\2\\tmpFD6D.tmp\xe2\x80\x9d始终可以更改。如何添加LAUNCHER_ARGS为环境变量,即使 tmp 文件发生更改也能使其正常工作?
让我知道是否有更简单的方法来启动 IIS Express 以使用命令行或 powershell 脚本运行 ASP.NET Core 应用程序。
\n你正在寻找[System.IO.Path]::GetTempFileName()方法。它在文件系统上创建空临时文件并返回其唯一名称。
我当前正在使用以下 PowerShell 脚本来运行我的 .NET Core 2.0 应用程序:
$env:LAUNCHER_ARGS = "-p ""<path to dotnet.exe>"" -a ""exec \""<path to webapp main dll>\"""" -pidFile $([System.IO.Path]::GetTempFileName()) -wd ""<path to webapp root folder>"" -pr <project name>"
$env:LAUNCHER_PATH = "<path to VSIISExeLauncher.exe>"
& "<path to iisexpress.exe>" /config:"<path to applicationhost.config>" /site:"<webapp name>"
Run Code Online (Sandbox Code Playgroud)
占位符(尖括号内的文本)必须填充相应的值。您可以通过从 Visual Studio 运行项目并使用 Process Explorer 检查 iisexpress.exe 进程的环境变量来找到它们,如上面您提供的链接所示。
| 归档时间: |
|
| 查看次数: |
5150 次 |
| 最近记录: |