如何从自定义MSBuild任务将输出写入控制台?
时间:2020-03-06 15:02:19 来源:igfitidea点击:
我正在尝试调试MSBuild任务,并且我知道有一些方法可以从自定义任务中写入MSBuild日志,但我忘记了如何做。
解决方案
基本的Task类具有Log属性,我们可以使用:
Log.LogMessage("My message");
为了进行单元测试,我将记录器包裹在一个帮助器类中
public static void Log(ITask task, string message, MessageImportance importance)
{
try
{
BuildMessageEventArgs args = new BuildMessageEventArgs(message, string.Empty,
task.ToString(), importance);
task.BuildEngine.LogMessageEvent(args);
}
catch (NullReferenceException)
{
// Don't throw as task and BuildEngine will be null in unit test.
}
}
如今,为了方便起见,我可能会将其转换为扩展方法。

