c# - 自定义 MSBuild 任务 : how to flush logging in VS2012 output window while task is still running?

标签 c# visual-studio-2012 msbuild

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

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

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

最佳答案

VS2012 中的已知错误。

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

它已在 VS2015 中修复。

关于c# - 自定义 MSBuild 任务 : how to flush logging in VS2012 output window while task is still running?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16690071/

相关文章:

javascript - 将 Jquery-UI 日期选择器链接到 DropDownlist

c# - 使用 DataAnnotation 将小数显示为百分比

asp.net-mvc - 当我尝试本地调试 Azure 应用程序时,为什么会收到此错误?

c# - WPF .xaml 设计器异常

visual-studio-2012 - 如何在 Visual Studio 2012 的 JSLint 扩展中配置规则

c# - 使用语句错误

c# - 无法将类型 'int' 隐式转换为 'Foo.Bar.Delegates.Program.ParseIntDelegate'

msbuild - 在VS2017 Asp.Net Core发布操作结束时执行.bat文件?

c# - 如何防止 IVsBuildPropertyStorage.SetItemAttribute 转义特殊字符?

c# - 如何从 VS2015 中引用不同的 mscorlib.dll?