Подтвердить что ты не робот

Возвращать выходные данные из задачи MsBuild?

Я хотел бы рассчитать путь в задаче MsBuild, который будет использоваться другой задачей MsBuild. Каков наилучший способ сделать это?

Настройка переменной окружения, печать на Консоль,...?

4b9b3361

Ответ 1

Используйте свойство или элемент. Ваш 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, чтобы вернуть требуемое значение.