2009-03-16 17 views
4

1つのmsbuildプロジェクトから別のプロジェクトにプロパティを渡すことはできますか?したがって、1つの.projファイルにPropertyName = "Foo"(たとえば)のプロパティがあります。別の.projファイルからアクセスできますか?つまり、他のmsbuildプロジェクトで "$(Foo)"を使用できますか?MSBuildプロジェクト間でプロパティを渡すことはできますか?

答えて

4

これを行う1つの方法は、次のスクリプトを呼び出すときにプロパティを渡すことです。

<MSBuild Projects="another.proj" Properties="PropertyName=$(Foo)" /> 
4

プロパティを使用するファイルでImport elementを使用します。

<Import Project="ProjectPath"/> 
+0

この場合、スクリプト間に相互参照があります。大丈夫ですか? –

+0

評価の順序はどのように決定されますか?インポートされたプロジェクトのプロパティとアイテムグループが最初に処理されますか?現在のファイル内のItemGroupとプロパティが最初にプロスケードされますか? – Maslow

+0

評価は注文によって決まると思います。最初にインポートされたプロジェクトプロパティとアイテムは、最初に処理されます。最後にインポートすると、インポートされたプロジェクトのプロパティとアイテムが最後に処理されます。 これは、「Microsoft.CSharp.targets」のcsprojインポートが最後に実行される理由です。これは、csprojの値を設定できる方法です。 –

0

$(MSBuildArguments)変数を使用してみてください。私はTFSで動作することを知っていますが、コマンドプロンプトで動作するかどうかはわかりません。

関連する問題