特定の最上位プロジェクト (多くの依存関係がある) をビルドするときにのみ実行する、1 回限りのコストのかかるターゲットを取得しようとしています。
プレーンなmsbuild/コマンドラインビルドからこれを機能させることに問題はありません。私はこれをプロジェクトの設定と InitialTargets で行うか、代わりに
<ビルド前/>。
注意が必要なのは、Visual Studio の場合です。VSから同じプロジェクトをビルドすると. VS は、.csproj を呼び出す前に依存関係を実行するため、ターゲット (他のプロジェクトのビルド方法に影響を与える) は、ビルドが完了するまで実行されません。
依存関係を呼び出す前にVSにターゲットを強制的に実行させる方法はありますか?
私は現在、次を使用して、最も低レベルのプロジェクト (常にビルドされるプロジェクト) から同じコストのかかるターゲットを実行することで、これを回避しています。
条件=" $(BuildingInsideVisualStudio) "
これを「適切に」行う方法についてのアイデアはありますか? 繰り返しますが、VS から機能するソリューションを探しています。