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

时间:2008-10-02 17:24:24

标签: .net msbuild

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

2 个答案:

答案 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.
    }
}

现在我可能为了方便起见将其转换为扩展方法。