编写使用其他自定义MSBuild任务的自定义MSBuild任务

时间:2009-03-31 07:09:30

标签: msbuild

我编写了一个自定义的MSBuild任务,称之为TaskA,它解析文件并对其进行一些处理。我现在想编写另一个MSBUild任务,称之为TaskB,在其中使用TaskA。我知道我可以像使用普通类一样使用TaskA,只需从TaskB调用它的execute方法。但你认为这是合情合理的吗?在执行TaskB时,是否仍会记录来自TaskA的日志消息?

1 个答案:

答案 0 :(得分:7)

是的,这似乎是合理的,是的仍然会记录来自TaskA的日志消息。 不要忘记将taskA.BuildEngine设置为taskB one。

public class TaskA : Task
{
    public override bool Execute()
    {
        Log.LogMessage("Task A");

        return true;
    }
}

public class TaskB : Task
{
    public override bool Execute()
    {
        Log.LogMessage("Task B");

        TaskA taskA = new TaskA();
        taskA.BuildEngine = BuildEngine;

        taskA.Execute();

        return true;
    }
}