2009-07-16 7 views
1

MSBuildの条件付きインポートの回避策はありますか?MSBuild条件付きインポート

MSBuild IDEインターフェイスのバグを詳しく示す証拠herehereが見つかりました。特に、Importステートメントはビルド時にリロードされません。

これは既知の制限です。 VSは、プロジェクトがロードされるとタグを一度しか処理しません。したがって、プロジェクトが最初にロードされた時点でどのタグがアクティブになっていても(その時点でのプロパティの値に基づいて)、それはIDEでそのプロジェクトの存続期間中に取得するタグです。

例えば、私はfooの値に基づいてbarbazプロジェクトをインポートする場合があります

<Import Project="bar.targets" Condition="'$(foo)' == 'bar'" /> 
<Import Project="baz.targets" Condition="'$(foo)' == 'baz'" /> 

は私が所望の機能性を達成するために使用することができます回避策または異なるアプローチがありますか?

答えて

0

ターゲットファイルの内容によって異なりますが、$(foo)プロパティに基づいてプロパティを設定するだけの場合は、プレビルドイベントを使用するか、ターゲットをプレビルドして同じジョブを実行できます。