2通りの方法で作業できます。プロジェクト内の他のプロジェクトまたはDLLを参照しています。そして両方を組み合わせることができます。いくつかのプロジェクトをソリューションの一部ではないソリューションとしてビルドしたくない場合は、それらを事前ビルドし、コンパイルプロセスの出力への参照を指す必要があります。そして、それらをソリューションの一部にしたいがコンパイルしないようにするには、Build Configuration Managerを使用します。これを使って、どのプロジェクトがその設定でビルドされ、ビルドされないのかを確認できます。
あなたが大規模なソリューションを持っている場合は、同様にそこから任意ビンまたはのlibフォルダとリファレンスへの出力を設定することをお勧めします。この場合、プロジェクトのビルド順序を必ず設定してください。
小さなソリューションでは、プロジェクト参照が正常に動作します。この場合、ビルドオーダー自体が確立されます。
違いはパフォーマンスです - #1 - dllの参照で1つのプロジェクトをビルドできる場合。ケース#2では、1つのプロジェクトを構築すると、一連のプロジェクトのコンパイルが開始されます。この場合、毎回長く待つだけです。大きなソリューションでは、これは開発者にとって有害です。
そして最後、あなたが参照されていないが、して、アプリで使用されているいくつかのDLLを持っている場合、反射によってロードされていると言う、あなたは前$(TargetDir)
にこれらをコピーするイベントを構築かポストを構築を使用することができます
参照を使用しない理由を説明できますか?とにかく、各projetcをビルドするために複数のmsbuildステートメントを発行するprebuildイベントを使用することができます。 – stijn
@stijn理由は、これらのプロジェクトが他のソリューションから絶え間なく開発されているからです。 –
@stijnこれは、MEFのようなプラグインアーキテクチャなどを使用する場合にはよくあります。 – DavidG