Я хотел бы рассчитать путь в задаче MsBuild, который будет использоваться другой задачей MsBuild. Каков наилучший способ сделать это?Возвращать выходные данные из задачи MsBuild?
Настройка переменной окружения, печать на консоль, ...?
Я хотел бы рассчитать путь в задаче MsBuild, который будет использоваться другой задачей MsBuild. Каков наилучший способ сделать это?Возвращать выходные данные из задачи MsBuild?
Настройка переменной окружения, печать на консоль, ...?
Используйте свойство или товар. Ваш MSBuild, который вычисляет путь, возвращает его как свойство, и вы используете это свойство в качестве входа для своей другой задачи.
public class CalculatePathTask : ITask
{
[Output]
public String Path { get; set; }
public bool Execute()
{
Path = CalculatePath();
return true;
}
}
<Target Name="CalculateAndUsePath">
<CalculatePathTask>
<Output TaskParameter="Path" PropertyName="CalculatePath"/>
</CalculatePathTask>
<Message Text="My path is $(CalculatePath)"/>
</Target>
Если вам нужно передать значение между двумя проекта MSBuild, вы должны создать третий, который будет вызывать другой с помощью MSBuild задачи и использовать TargetOutputs элемент, чтобы вернуться значение, которое вам хотеть.
всего лишь короткая заметка: В моем случае 'ItemName' не работал. Как только я изменил его на «PropertyName», он работал как шарм. – sebagomez
Пробовал это, но получил параметр «ЗадачаПараметр» не поддерживается задачей «MyCustomTask». Убедитесь, что параметр существует в задаче, и это настраиваемый объект публичного экземпляра. ' – jpierson