.net 如何将自定义MSBuild任务的输出写入控制台?

.net 如何将自定义MSBuild任务的输出写入控制台?,.net,msbuild,.net,Msbuild,我正在尝试调试MSBuild任务,我知道有某种方法可以从自定义任务中写入MSBuild日志,但我忘记了如何进行。基类有一个log属性,您可以使用: Log.LogMessage("My message"); 出于单元测试的目的,我将记录器包装在一个helper类周围 public static void Log(ITask task, string message, MessageImportance importance) { try { BuildMessa

我正在尝试调试MSBuild任务,我知道有某种方法可以从自定义任务中写入MSBuild日志,但我忘记了如何进行。

基类有一个
log
属性,您可以使用:

Log.LogMessage("My message");

出于单元测试的目的,我将记录器包装在一个helper类周围

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.
    }
}
现在,为了方便起见,我可能会将其转换为扩展方法