我有一个带有一些构建后事件命令的项目。这些命令需要一些时间才能完成,并且还有控制台输出。如果重要,则命令是PowerShell命令/脚本。我发现Visual Studio在执行命令时会表现得没响应。一旦命令全部执行,整个输出将在构建完成时显示在VS的“输出”窗口中。我想要的是输出窗口显示控制台输出,所以当我的脚本运行时,我会看到“开始命令执行...”,“命令1完成,开始命令2 ......”,类似于那。这可能吗?
这是我的post-build事件命令的样子:
if "$(ConfigurationName)" == "Release" "C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe" Set-ExecutionPolicy Unrestricted
if "$(ConfigurationName)" == "Release" "C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe" -file "$(SolutionDir)\installshieldAutomationScript.ps1"
if "$(ConfigurationName)" == "Release" "C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe" Set-ExecutionPolicy Restricted
以下是我的PowerShell脚本片段:
Write-Host "Running post-build script..." -ForegroundColor "Green"
#Do a bunch of stuff here
Write-Host "Post-build script complete!" -ForegroundColor "Cyan"
答案 0 :(得分:0)
你能在PowerShell命令之间放一个“[System.Windows.Forms.Application] :: DoEvents()”吗?没有它,您不允许表单事件处理程序处理每个命令之间的重绘。在Write-Host行之后你会立即需要这个。
我在这里看到了一篇很好的文章:Powershell Job Event Action With Form Not Executed