多くのC#プロジェクトを持つVisual Studio 2013ソリューションがあります。 プロジェクトBは、プロジェクト(A)のビルドが完了した後にビルドする必要があるという要件があります。MSBuildタスクでプロジェクトの依存関係が構築されないのはなぜですか?
プロジェクトAはプロジェクトBに依存しません。プロジェクトBはプロジェクトA、Cなどに依存しています。すべての依存関係はプロジェクト参照として定義されています。
私は、プロジェクトには、次のターゲットを追加しました:
<Target Name="MyAfterBuildStep" AfterTargets="AfterBuild">
<MSBuild Projects="$(Bproject)" Properties="Configuration=$(ConfigurationName);Platform=$(PlatformName);SolutionDir=$(SolutionDir);BuildProjectReferences=true"/>
</Target>
それは起動しますが、それは$(Bproject)の依存関係を構築しません。
なぜ依存関係が構築されていないのかを理解するのに役立つ人がいますか?同じソリューションの両方のプロジェクトの場合
プロジェクト参照またはファイル参照として依存関係を定義していますか? Bprojectはソリューションか単一のプロジェクトですか? – KMoraz
プロジェクト参照として。ここで言及されているBプロジェクトなどのプロジェクトは、同じソリューションのプロジェクトです。 – lenikur
要件はやや面倒です。プロジェクトBがプロジェクトAに依存している場合、プロジェクトBはプロジェクトBをビルドする必要がありますが、それ以外の方法ではデフォルトの動作はありません。あなたに強制的に依存関係を強制し、それを回避する方法を尋ねます。他の解決策が示唆されるかもしれないので、あなたが目標であることをもっとよく説明してください。 – KMoraz