2

我有一个带有一些构建后事件命令的项目。这些命令需要一些时间才能完成,并且还有控制台输出。如果重要,这些命令是 PowerShell 命令/脚本。我发现 Visual Studio 在命令执行时会表现得像没有响应一样。一旦命令全部执行完毕,当构建完成时,整个输出将显示在 VS 的输出窗口中。我想要的是输出窗口在发生时显示控制台输出,因此当我的脚本运行时,我会看到“开始执行命令...”,“命令 1 完成,开始命令 2...”,类似于那。这可能吗?

这是我的构建后事件命令的样子:

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"
4

1 回答 1

0

您可以在 PowerShell 命令之间放置一个“[System.Windows.Forms.Application]::DoEvents()”吗?没有它,您将不允许表单事件处理程序处理每个命令之间的重绘。您需要在 Write-Host 行之后立即使用它。

我在这里看到了一篇很好的文章:Powershell Job Event Action With Form Not Executed

于 2013-06-12T16:59:59.060 回答