在Visual Studio中从自定义C#编译器进行日志记录时克服MSBuild冗余

在Visual Studio中从自定义C#编译器进行日志记录时克服MSBuild冗余,c#,visual-studio,csc,C#,Visual Studio,Csc,我在Visual Studio 2017项目的构建步骤中添加了一个自定义编译器,使用csproj文件中的my_compiler.exe标记。一切都很好,只是我不知道如何使编译器正确地将信息输出到VisualStudio的“Build”输出窗口。我尝试过Console.Write、Debug.Write和Trace.Write,但它们的输出不会显示在“生成输出”窗口中。在VS中,无需任何额外配置即可将消息显示在日志中的唯一方法是将其格式化为警告或错误: Console.Write("warning

我在Visual Studio 2017项目的构建步骤中添加了一个自定义编译器,使用csproj文件中的
my_compiler.exe
标记。一切都很好,只是我不知道如何使编译器正确地将信息输出到VisualStudio的“Build”输出窗口。我尝试过Console.Write、Debug.Write和Trace.Write,但它们的输出不会显示在“生成输出”窗口中。在VS中,无需任何额外配置即可将消息显示在日志中的唯一方法是将其格式化为警告或错误:

Console.Write("warning: Message LOGGED!");
Console.Write("error: Not a good place for a message...");
如果我将MSBuild详细信息设置为Normal/Detailed/Diagnostic,则可以看到正常的Console.Write输出。但是,我正在编写的消息非常重要,我希望它们始终以默认的“最小”构建详细度设置显示。我知道你可以用

<Message Importance="High" Text="Look at me!!" />
Console.Write("My build message~", Importance.High);