首页 文章

启动IIS Express以运行ASP.NET Core Apps

提问于
浏览
1

我希望通过使用命令行从IIS Express启动它来运行我的ASP.NET核心应用程序 .

我偶然发现了this文章

因此实际上Visual Studio在启动IIS Express时会默默添加两个环境变量,以便可以注入与ASP.NET Core相关的位 . LAUNCHER_ARGS:-debug -p“C:\ Program Files \ dotnet \ dotnet.exe”-a“exec \”C:\ Users \ lextm \ documents \ visual studio 2017 \ Projects \ WebApplication2 \ WebApplication2 \ bin \ Debug \ netcoreapp1 . 0 \ WebApplication2.dll \“” - pidFile“C:\ Users \ lextm \ AppData \ Local \ Temp \ 2 \ tmpFD6D.tmp”-wd“C:\ Users \ lextm \ documents \ visual studio 2017 \ Projects \ WebApplication2 \ WebApplication2”

-pidFile “C:\Users\lextm\AppData\Local\Temp\2\tmpFD6D.tmp” 中的tmp文件总是可以更改 . 如何添加 LAUNCHER_ARGS 作为环境变量,即使tmp文件发生变化也能使其工作?

让我知道是否有更简单的方法来启动IIS Express以使用命令行或PowerShell脚本运行ASP.NET Core Apps .

1 回答

  • 3

    您正在寻找 [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>"
    

    占位符(尖括号内的文本)必须填充相应的值 . 您可以通过从Visual Studio运行项目并使用Process Explorer检查iisexpress.exe进程的环境变量来查找它们,如上面所示链接中所示 .

相关问题