ベスト プラクティスは、プロジェクト参照を使用して、同じソリューション内の他のプロジェクトを参照することです。ソリューションの外部にある参照については、ファイル参照を使用してから、参照されているコンパイル済み DLL をチェックインする必要があります。
Solution1
\Project1 --> Project1.dll
\Project2 --> Project2.dll
Solution2
\ProjectA (references Project1.dll)
\ProjectB (references Project2.dll)
\References
\Project1.dll -- this DLL gets checked in here and ProjectA references from here
\Project2.dll -- this DLL gets checked in here and ProjectB references from here
ProjectA.csproj
<Reference Include="Project1.dll, Version=blah blah blah">
<HintPath>..\References\Project1.dll</HintPath>
</Reference>
ProjectB.csproj
<Reference Include="Project2.dll, Version=blah blah blah">
<HintPath>..\References\Project2.dll</HintPath>
</Reference>
このアプローチでは、Solution1 をビルドし、ドロップされた DLL を取得して、Solution2 の References フォルダーにチェックインする必要があります。Solution1 のビルドで、Solution2\References フォルダーを自動的にチェックアウトし、Project1 と Project2 の DLL をビルドの最新の DLL に置き換えてから、チェックインするいくつかのロジックを本当に凝ってセットアップすることができます。継続的インテグレーションを使用すると、Solution2 のビルドが開始されます。