ほとんどの人と同じように、サードパーティのライブラリを使用しています。多くは、VCS に保持しているソースを持っています。
現在、これらのライブラリが更新された場合、ソースを手動で取得してバイナリを再構築する必要があります。
代わりに、それらを使用するさまざまなソリューションからそれらを参照する方法を見つけようとしています。これにより、依存プロジェクトをプルするときにソース管理から自動的にプルされ、古い場合は自動的にビルドされます。また、提供されたソースを使用してデバッグできると便利です。
私が抱えている最初の問題は、ライブラリが依存プロジェクトと同じソリューション ルートにないことです。例えば。
\Libraries
\External
\Lib1
Lib1.sln
\Products
\Product1
Product1.sln
ソリューションに追加しようとするLib1.csproj
と、Product1
次の警告が表示されます。
ソース管理に追加しようとしているプロジェクトが原因で、他のソース管理ユーザーがこのソリューションを開いたり、新しいバージョンを取得したりすることが困難になる場合があります。この問題を回避するには、ソリューション内の他のソース管理プロジェクトのバインディング ルート (C:\depot\Products\Products1) の下の場所からプロジェクトを追加します。
これを無視すれば、ビルドの依存関係を適切に設定できますが、それでもソース ツリー全体を一度にプルすることはできません。
特にソースコードがある場合、他の人がサードパーティのライブラリをどのようにセットアップしているのか疑問に思っていました。(Perforceを使用していますが、質問はどのVCSにも関連していると思います)