我已经编写了一个自定义的MSBuild任务,称为TaskA,它解析文件并对其进行一些处理。现在我想编写另一个MSBUild任务,称为TaskB,在其中使用TaskA。我知道我可以像普通类一样使用TaskA,并从TaskB调用其execute方法。但您认为这是可行的吗?当执行TaskB时,TaskA的日志消息仍将被记录吗?
我已经编写了一个自定义的MSBuild任务,称为TaskA,它解析文件并对其进行一些处理。现在我想编写另一个MSBUild任务,称为TaskB,在其中使用TaskA。我知道我可以像普通类一样使用TaskA,并从TaskB调用其execute方法。但您认为这是可行的吗?当执行TaskB时,TaskA的日志消息仍将被记录吗?
是的,这是可行的,而且来自TaskA的日志消息仍将被记录。 不要忘记将taskA.BuildEngine设置为taskB的BuildEngine。
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;
}
}