在TFS上使用带有项目参考的多个解决方案

时间:2018-11-13 10:40:15

标签: tfs visual-studio-2013 version-control branch devops

我们最近已将在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并将这些新分支中的所有项目引用更改为其他新分支。

对每个工作项目执行此操作非常耗时,我们觉得有一种更聪明的处理方式,但无法弄清楚。有什么想法吗?

1 个答案:

答案 0 :(得分:0)

如果它们紧密耦合到您所描述的程度,则应将它们分支并合并为一个单元。

另一个选项,尽管它代表了工作流程和开发实践的更大变化:

将应用程序之间共享的所有内容分解为NuGet包,并将共享的引用作为NuGet包而不是项目引用进行管理。