MSBuild に関するトリッキーな問題が発生しています。複数の Web サイトを含むソリューション ファイルがあります。各 Web サイトには、共通プロジェクトからの MVC ビューおよびその他の Web サイト コンテンツのコピーが必要です。その共通プロジェクトは、共有組織スペースからファイルをコピーします。以下に図を示します。
サイト A OrgShared <- 共通 <- サイト B サイト C
ファイルのコピーは、ファイルの PreBuildEvent を通じて実行され.csproj
ます。問題は、検出された依存関係のビルド イベントが発生する前に PreBuildEvent コマンドが実行されることです。したがって、イベントのシーケンスは次のとおりです。
1. サイト A がビルドされます a. Prebuild ステップが実行されます (Common からファイルをコピーします)。 b. コモンが構築されます 私。ビルド前のステップが実行されます (OrgShared からファイルをコピーします) ii. ビルド & ポストビルドが実行されます c. ビルドとポストビルドが実行されます 2. サイト B が構築されます a. Prebuild ステップが実行されます (Common からファイルをコピーします)。 b. ビルドとポストビルドが実行されます
問題は、手順 1a で発生します。Common prebuild ステップがまだ実行されていないため、サイト A は OrgShared から間接的に来るファイルを受け取りません。
OrgShared から直接コピーしなければならないサイト A、B、C に依存せずに、この依存関係の問題を効果的に解決するにはどうすればよいですか?