如何从MSBuild将消息输出到Visual Studio输出窗口?

16

我曾尝试在Visual Studio项目文件中添加<Message>元素以调试构建进程,但该元素对写入到Visual Studio输出窗口的文本没有任何影响。

是否有一种方法可以通过向正在构建的项目添加标记来将消息写入到Visual Studio输出窗口中?

3个回答

31
这可能会有所帮助:

这篇文章

 

工具选项项目和解决方案生成和运行 下,有一个 MSBuild 项目构建输出详细程度 的组合框。 它控制着您想在输出窗口中看到多少信息。


4
谢谢,解决了。即使 Importance="high",消息默认情况下也不会被写入输出窗口。 - mackenir
请注意,如果您的自定义任务dll是使用Release配置构建的,则Debug.WriteLine将被忽略。您必须使用Debug构建才能使其正常工作。我刚刚确认了这一点。 - dario_ramos

1
在项目属性→ Build Events 中,您可以在Post-build event command line中添加类似以下内容的语句:

echo 这是我的消息,不需要引号!

然后,在成功构建后(如果配置为在成功构建时运行,这是我的情况),您就可以在输出中看到它。

这可以用于在.csproj文件中打印变量值。 - dasons
你如何使用这种方法输出MSBuild属性(例如Platform)的内容? - Peter Mortensen

-1
我认为这应该可以工作(以前对我有效):<Message Text="blah" /> (当然,从代码中,System.Diagnostics.Debug.WriteLine("blah");)

Debug.WriteLine() 在运行时将输出到调试控制台。 - Serge Wautier
这就是为什么我在上面加了“来自代码”的原因,对吧? 而且,没有任何阻止你编写自定义的msbuild扩展并使用System.Diagnostics.Debug.WriteLine(),对吧? - Ariel

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接