これに基づいて、postは可能ではないようです。しばらく前に質問を投稿しました。実行可能な選択肢を見つけることができましたか?
フィードバック後に編集
: 潜在的に厄介な代替マクロとしてあなたのコマンドを定義するには、次のようになります。
<!-- CommandX.props -->
<PropertyGroup>
<CommandX>bar</CommandX>
</PropertyGroup>
次に、あなたは、プロジェクトのビルド後のコマンドまたは別に$(CommandX)
を追加することができますプロパティシート。 $(CommandX)
が存在しない場合、それは静かに無視されます。ビルドについてもう少し学んだ後
<!-- Some-Other-Property-Sheet.props -->
<ImportGroup Label="PropertySheets">
<Import Project="CommandX.props" />
</ImportGroup>
:あなたは別のプロパティシートに、このマクロを追加する場合は値を継承$(CommandX)
よう
、あなたはImport
にごCommandX
プロパティシートを持っていると思いますプロセス、私はMSBuild tasksを使用することをお勧めしたいと思います。特に、Exec taskが最も実現可能なソリューションを提供する可能性があります。
いいえ、私は手動ですべてのプロジェクトを個別に、私の質問に従って維持することに頼っています。私が考えている(実装しようとはしていない)唯一の解決策は、スクリプトを通して自分の継承構造を設計することです。すべてのプロジェクトがビルド後のイベントと同じスクリプトを呼び出し、プロジェクト名を変数として渡し、必要に応じて追加のコマンドを実行します。 Clunkyですが、少なくとも1つのファイルだけをメンテナンスします。 – JBentley
または、各プロジェクトに独自のスクリプト(MSVCの組み込みマクロを使用してプロジェクト依存の場所からスクリプトを呼び出す)を呼び出し、スクリプトが継承するプロジェクトからスクリプトを再帰的に呼び出させるようにします。これらのアプローチの主な問題は、継承構造そのものを2つの場所(プロパティシートとスクリプト)で更新する必要があります。それ以外の場合は、同期が外れます。 – JBentley