複数のプロジェクトを含むソリューションがあるので、たとえば、10個のテスト関連プロジェクトがnunitに依存しているとします。現在、私のソリューション構造にはToolsとLibのフォルダーが含まれているため、nunitの完全なダウンロードはToolsにあり、dllだけがLibにある可能性があります。
パッケージマネージャー(私が見ているのはNuGetとOpenWrapの2つです)は、パッケージの独自の「既知の」場所を作成する必要があると思います。したがって、パッケージ管理の昔ながらの方法に対して、Libフォルダーを手動で更新した後、nunitに依存しているすべてのプロジェクトが更新されたことがわかります。
しかし、パッケージマネージャーで更新する場合は、すべてのプロジェクトにアクセスして、プロジェクトが更新され、同じ参照を指していることを確認する必要があります。また、一部のdllが見つからない可能性があるため(現在unHAddinsを考えています)、手動のパッケージ管理から完全に解放されていません。つまり、最新の更新への移行は、すべてのプロジェクトがパッケージマネージャーによって更新されるまで行われません。
ですから、私の理解が正しいかどうか疑問に思っています。適切なサイズのソリューションにパッケージ管理を組み込むための最良のアプローチは何ですか。たとえば、次のようになります。
0) add to source control: NuGet 'packages' folder or OpenWrap 'wraps' folder
1) pick a dll (start with one that you beleieve has minimal dependencies)
2) pick a project (ideally with minimal dependencies that might break)
3) if OpenWrap, get the package you want into 'wraps'
4) for each project:
a) add reference to subject dll (manually if OpenWrap, NuGet will add for you)
b) fix compile error as needed
c) run tests
それは正しいですか?
乾杯、
ベリール