Я написал пользовательскую задачу MSBuild, назовите ее TaskA, которая анализирует файл и выполняет некоторую обработку. Теперь я хочу написать еще одну задачу MSBUild, назовем ее TaskB, в которой используется TaskA. Я знаю, что могу использовать TaskA как обычный класс и просто вызывать его метод execute из TaskB. Но вы считаете, что это правдоподобно? Будут ли по-прежнему регистрироваться сообщения журнала от TaskA при выполнении TaskB?
Написание пользовательской задачи MSBuild, которая использует другую пользовательскую задачу MSBuild.
Ответы (1)
Да, это правдоподобно, и да, сообщения журнала от TaskA все равно будут регистрироваться. Не забудьте установить для taskA.BuildEngine значение taskB.
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;
}
}
person
Julien Hoarau
schedule
31.03.2009