自定义MSBuild任务:如何在任务仍在运行时刷新VS2012输出窗口中的日志记录?

xen*_*en2 6 c# msbuild visual-studio-2012

我有一个自定义的MSBuild任务,需要一些时间才能完成.它使用任一Log.LogMessage()BuildEngine.LogMessageEvent()(尝试两者)输出进度.

我的问题是,在任务完成之前,所有输出都不会出现在VS2012输出窗口中,从而使进度更新无效.我希望在任务运行时立即显示输出.

我发现各种线程解释为频繁调用Application.DoEvents(),但这似乎并没有解决问题(也许它只适用于VS2010及之前?).

xen*_*en2 1

VS2012 中的已知错误。

我们最终为 VS2012/2013 制作了 VSPackage 扩展(直接在窗格日志中输出)。

在VS2015中已修复。