我正在尝试调试MSBuild任务,我知道有一些方法可以从自定义任务中写入MSBuild日志,但我忘记了如何。
答案 0 :(得分:7)
基础Task类具有您可以使用的Log
属性:
Log.LogMessage("My message");
答案 1 :(得分:1)
出于单元测试目的,我将记录器包装在辅助类
中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.
}
}
现在我可能为了方便起见将其转换为扩展方法。