我们最近已将在TFS服务器上管理的所有解决方案的项目参考移至项目参考,并且我们正在使用Visual Studio2013。我们的开发解决方案树看起来像这样-
- Main Solution A(Solution)
Core1 Client Library(Project reference)
Core2 Client Library(Project reference)
Core3 Client Library(Project reference)
....
- Main Solution B(Solution)
Core2 Client Library(Project reference)
Core3 Client Library(Project reference)
Core4 Client Library(Project reference)
....
- Core1 Project (Solution)
Client Library (Project that references all other projects in this solution)
Project1 (Project)
Project2 (Project)
Project3 (Project)
- Core2 Project (Solution)
Client Library (Project that references all other projects in this solution)
Project1 (Project)
Project2 (Project)
Project3 (Project)
...
每次我们要开始对某些核心功能进行大的更新时,我们都有2个选择:要么在每个解决方案的dev分支上工作并冒险破坏它,要么分支将要更改的每个解决方案,然后更改每个分支解决方案中的所有引用,以与其他分支项目一起使用。
例如,向主解决方案B添加功能需要分支主解决方案B,分支Core2 + Core3 + Core4并将这些新分支中的所有项目引用更改为其他新分支。
对每个工作项目执行此操作非常耗时,我们觉得有一种更聪明的处理方式,但无法弄清楚。有什么想法吗?
答案 0 :(得分:0)
如果它们紧密耦合到您所描述的程度,则应将它们分支并合并为一个单元。
另一个选项,尽管它代表了工作流程和开发实践的更大变化:
将应用程序之间共享的所有内容分解为NuGet包,并将共享的引用作为NuGet包而不是项目引用进行管理。