这个问题在精神上与Powershell command prompt prints ^C when pressing Ctrl+C, why?有关 - 两者都涉及到PowerShell控制台搞砸了。
假设:
考虑以下脚本:
$iisexpress = "C:\Program Files (x86)\IIS Express\iisexpress.exe"
$config = "c:\xyz\.vs\config\applicationhost.config"
$logFile = "$env:temp\1.log"
$id = (Start-Process $iisexpress "/site:Site1","/config:$config" -PassThru -RedirectStandardOutput $logFile -NoNewWindow).Id
$id
我认为解决方案特定配置并不重要。重要的是我在重定向输出并收集进程ID时启动一个站点。
就是这样。尝试使用控制台一点。如果没有任何反应 - 再次运行脚本,即使它没有必要。控制台很糟糕。
为什么呢?我该如何解决?
答案 0 :(得分:6)
我相信-NoNewWindow
标志会给您带来麻烦。 iisexpress.exe使用此开关在Powershell窗口内运行,似乎部分劫持了您的输入。
我仍然很想调查为什么会发生这种情况并且目前还没有答案,但一个简单的解决办法就是用-NoNewWindow
替换-WindowStyle hidden