从MSBuild任务返回的输出?(Return output from an MsBuild tas

2019-07-04 15:15发布

我想计算路径的MSBuild任务,由另一MSBuild任务使用。 什么是实现这一目标的最佳方式是什么?

设置一个环境变量,打印到控制台,...?

Answer 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元素找回所需的值。



文章来源: Return output from an MsBuild task?