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>
2つのMSBuildプロジェクト間で値を渡す必要がある場合は、MSBuildタスクを使用してもう一方を呼び出す3つ目のプロジェクトを作成し、TargetOutputs要素を使用して目的の値を取得する必要があります。