【发布时间】:2011-06-26 22:49:00
【问题描述】:
我有一个包含多个项目的解决方案,例如说 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
听起来对吗?
干杯,
浆果
【问题讨论】:
标签: visual-studio nuget project-structure package-managers openwrap