非阻塞 IIS Express 初创公司
Nonblocking IIS Express startups
我可以像这样在批处理文件中启动 Cassini:
start "" /B "%common%\microsoft shared\DevServer.0\WebDev.WebServer40.exe" /port:%port% /path:"%~dp0%svcDir%"
这将在不阻塞命令行的情况下启动。我可以在不阻塞命令行的情况下启动 IISExpress 吗?我尝试在 startiis.ps1
中保存以下命令:
start-process "C:\Program Files (x86)\IIS Express\iisexpress.exe" /config:%userprofile%\Documents\IISExpress\config\applicationhost.config /CompanyName.ProjectName.api -windowstyle Hidden
当我 运行 & ".\startiis.ps1"
我收到错误:
Start-Process : A positional parameter cannot be found that accepts
argument '/CompanyName.ProjectName.api'.
关于您的方法的一些事情...
- 在 PowerShell 中调用环境变量使用提供程序
$env
- 如果您要使用
Start-Process
,您需要将命令和参数分开
start-process "C:\Program Files (x86)\IIS Express\iisexpress.exe" -ArgumentList "/config:$($env:USERPROFILE)\Documents\IISExpress\config\applicationhost.config /CompanyName.ProjectName.api" -WindowStyle Hidden
Start-Process
抛出错误,因为它没有第三个位置参数。在您的示例中,细分是 "C:\Program Files (x86)\IIS Express\iisexpress.exe" 占据了 -FilePath
,而“/config:%userprofile%\Documents\IISExpress\config\applicationhost.config”占据了 -ArgumentList
的位置。您希望所有这些片段都成为论点。
您不必指定 -ArgumentList
。将所有参数作为字符串引用就足够了。
如果您不需要 Start-Process
的其他功能,您也可以使用调用运算符就地执行。引用参数以确保它们被正确解析是一种很好的做法。
& "C:\Program Files (x86)\IIS Express\iisexpress.exe" "/config:$($env:USERPROFILE)\Documents\IISExpress\config\applicationhost.config" "/CompanyName.ProjectName.api"
我可以像这样在批处理文件中启动 Cassini:
start "" /B "%common%\microsoft shared\DevServer.0\WebDev.WebServer40.exe" /port:%port% /path:"%~dp0%svcDir%"
这将在不阻塞命令行的情况下启动。我可以在不阻塞命令行的情况下启动 IISExpress 吗?我尝试在 startiis.ps1
中保存以下命令:
start-process "C:\Program Files (x86)\IIS Express\iisexpress.exe" /config:%userprofile%\Documents\IISExpress\config\applicationhost.config /CompanyName.ProjectName.api -windowstyle Hidden
当我 运行 & ".\startiis.ps1"
我收到错误:
Start-Process : A positional parameter cannot be found that accepts argument '/CompanyName.ProjectName.api'.
关于您的方法的一些事情...
- 在 PowerShell 中调用环境变量使用提供程序
$env
- 如果您要使用
Start-Process
,您需要将命令和参数分开
start-process "C:\Program Files (x86)\IIS Express\iisexpress.exe" -ArgumentList "/config:$($env:USERPROFILE)\Documents\IISExpress\config\applicationhost.config /CompanyName.ProjectName.api" -WindowStyle Hidden
Start-Process
抛出错误,因为它没有第三个位置参数。在您的示例中,细分是 "C:\Program Files (x86)\IIS Express\iisexpress.exe" 占据了 -FilePath
,而“/config:%userprofile%\Documents\IISExpress\config\applicationhost.config”占据了 -ArgumentList
的位置。您希望所有这些片段都成为论点。
您不必指定 -ArgumentList
。将所有参数作为字符串引用就足够了。
如果您不需要 Start-Process
的其他功能,您也可以使用调用运算符就地执行。引用参数以确保它们被正确解析是一种很好的做法。
& "C:\Program Files (x86)\IIS Express\iisexpress.exe" "/config:$($env:USERPROFILE)\Documents\IISExpress\config\applicationhost.config" "/CompanyName.ProjectName.api"