ソリューション内のいくつかのプロジェクトが別のソリューションの別のプロジェクトのアセンブリへの参照を作成する複数のソリューションを使用する場合に最適な方法は何ですか?例えばVisual Studio 2015複数のソリューション戦略(TFS)
- Solution 1
-- Proj1
-- Proj2
- Solution 2
- OtherProj 1
- Solution 3
- FooProj1
- FooProj2
OtherProj、FooProj1とFooProj2はPROJ1又はProj2アセンブリを使用する場合。
今度はProj1をビルドし、そのアセンブリをソリューション2とソリューション3のソリューションフォルダに手動でコピー/ペーストする必要があります。 ローカルパスを使用し、チェックインすると直接参照できませんソースコントロール(TFS)を介して、私の同僚は自分のローカルパスを受け取ります(つまり、ソリューションのフォルダにコピー&ペーストしてパスが常に相対的になるのです)。
ポストビルドイベントを追加し、アセンブリをserver \ myserver \ assemblies \ relaase \ Proj1.dllの共有フォルダにコピーして、ソリューション/プロジェクトのこれらのファイルを参照することを考えました。
これはソースコントロールでも機能するため、良い戦略ですか、それとも他の戦略がありますか?
(何かは、Visual Studioでの共有プロジェクトのように存在しているが、私はそれが周りに共有するのではなく、単一のソリューションが、複数のプラットフォームのためのより多くのだと思う)
コードベースが十分に大きくなると、単一のSLNファイルが管理不能になります。その時点で、すべてのプロジェクトを正しい順序で構築するために、MSBUILDの ".proj"ファイルを作成して管理する必要があります。これを行うと、プロジェクトはビルドされた場所からDLLを参照できます。参照には絶対パスを使用する必要はありません。相対パスを使用する必要があります(別のアセンブリへの参照を作成する際のデフォルトですので、ここで特別な処理を行う必要はありません)。 –