我有一个包含多个项目的解决方案,例如说 10 个测试相关项目依赖于 nunit。目前我的解决方案结构包括 Tools 和 Lib 的文件夹,所以可能完整的 nunit 下载在 Tools 中,而只是 Lib 中的 dll。
我想任何包管理器(NuGet 和 OpenWrap 是我正在研究的两个)都需要为包创建它自己的“已知”位置。因此,尽管老式的包管理方式,在手动更新我的 Lib 文件夹后,我知道每个依赖于 nunit 的项目都刚刚更新。
但是,如果我使用包管理器进行更新,我需要访问每个项目以确保它已更新并指向相同的引用,是吗?并且可能找不到某些 dll(我现在正在考虑 unHAdins),因此您并没有完全摆脱手动包管理的束缚。这意味着直到每个项目都由包管理器更新后才会迁移到最新更新。
所以我想知道我的理解是否正确,将包管理合并到一个体面的解决方案中的最佳方法是什么 - 例如:
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
听起来对吗?
干杯,
贝里尔