Visual Studio MSBuild执行任务-输出窗口缓冲区刷新

时间:2018-06-19 23:09:35

标签: visual-studio msbuild msbuild-task

我的构建过程涉及一个运行控制台程序的Exec任务。

<Target Name="TestTask" AfterTargets="AfterBuild">
    <Exec Command='program.exe" />
</Target>

程序的输出显示在“输出”窗口中,但仅在任务完成后才显示(一次全部)。我如何逐渐看到输出?这是一项长期运行的任务,它会不断报告很多事情……

UPD:找到了一个有关问题的解决方法:MSBuild AfterBuild messages not showing real-time

1 个答案:

答案 0 :(得分:0)

  

Visual Studio MSBuild执行任务-输出窗口缓冲区刷新

我想为您提供解决此问题的方法,但是我不确定它是否完全符合您的要求。

为此,您可以尝试将execute命令放入批处理文件中,然后调用该批处理文件。不是很优雅,但可以解决问题。批处理文件如下:

start /d "<PathForTheProgram.exe>" program.exe

或者您可以使用Windows Power-shell直接启动program.exe

  <Target Name="TestTask" AfterTargets="AfterBuild" >
    <Exec Command="powershell start-process  &quot;<PathForEXE>\program.exe &quot;" />
  </Target>

不同之处在于,程序的输出显示在命令提示符窗口中,而不是Visual Studio输出窗口中的内部。

希望这会有所帮助。