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