28
別の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>
次の2つのMSBuildプロジェクト間の値を渡す必要がある場合は、MSBuildのタスクを使用して他を呼び出して、あなた価値を取り戻すためにTargetOutputs要素を使用する第三1を作成する必要があります欲しいです。
私の場合、 'ItemName'は機能しませんでした。私はそれを 'PropertyName'に変更するとすぐに、それは魅力的に機能しました。 – sebagomez
試しましたが、「TaskParameter」パラメータは「MyCustomTask」タスクでサポートされていません。パラメータがタスク上に存在することを確認し、設定可能なパブリックインスタンスプロパティです。 – jpierson