2 つの C++ (CLR) プロジェクトを使用したソリューションがあります。1 つのプロジェクトが他のプロジェクトを参照するため、プロジェクトの依存関係とビルド順序はそれを正しく反映しています。どちらのプロジェクトも同じ出力フォルダーを対象としています。依存プロジェクトには、で構成された依存関係がありますCopy Local: false
。
依存関係を単独で「再構築」すると、問題なくビルドされ、そのターゲットは出力ディレクトリにあります。
ソリューション(または依存プロジェクト)を「再構築」すると、次のようになります。
error LNK1181: cannot open input file '<outdir>\Dependency.lib'
案の定、依存関係の出力は出力ディレクトリからなくなりました。ビルド ログを見ると、依存関係は正しく (再) ビルドされているように見えますが、依存プロジェクトのビルドが開始されるとすぐに、それらの出力が削除されたようです。なぜそれが起こるのでしょうか?
さらに、ソリューションを「クリーン」してからすぐにソリューションを「ビルド」しても、エラーは発生しません。
「再構築」は、事実上、クリーン+ビルドであるはずではありませんか?