我想计算路径的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元素找回所需的值。