将项目划分为多个解决方案



我在VS2010(和TFS2010)管理一个中等规模的项目。我们有独立的团队负责不同的部分,还有一个团队负责"公共"部分,它将提供框架等。源结构:

    共同
  • +——CommonLibrary1
  • +——CommonLibrary2
  • +,等。
  • Part1
  • Part2
  • 等。

要求:

  • "Common"团队中的开发人员应该使用Common。仅包含通用代码
  • 的sln"Part1"团队中的开发人员应该使用Part1。包含part1的SLN。它从Common中引用了一些东西,并且应该能够构建这些东西(对于part2等也是如此)
  • 如果"Common"团队中的开发人员创建了一个新的"CommonLibrary3"项目,我只想更新Common。我不想碰第一部分。sln等。
  • TFS构建应该总是构建所有

Non-requirement:

  • 仅Part1的tfs构建。所有这些都是一个单独的项目,并且总是一起发布。
  • 部件分离管理

我知道的次优解:

  • 添加常见。SLN到第一部分。sln -似乎VS只是从Common复制所有项目。SLN到第1部分。

  • 用MSBuild目标文件替换解决方案文件- http://sedodream.com/2010/03/19/ReplacingSolutionFilesWithMSBuildFiles.aspx。我想这将工作,但我希望开发人员从VS更新解决方案,而不是手工编辑MSBuild文件。

我找到的TFS指南书称之为"分区解决方案",但没有具体说明如何实际实现它。

建议吗?

在TFS 2010构建定义中,您可以参考:

  • 要包含在构建工作区中的多个源代码控制文件夹
  • 在构建过程中构建多个解决方案文件

所以(如果我正确理解你的问题),关于TFS团队构建你没有问题。

您剩下的唯一挑战是(也许)在part1或part2开发人员的任何开发系统上,开发人员也应该能够构建Common.sln。只要该开发人员具有对公共分支的读访问权,本地工作区就可以包含源代码库,并且两者都可以由开发人员构建。

:

  • Common开发人员对Common具有RW访问权限,对Part1或Part2只有R访问权限(测试更改的影响),
  • Part1开发者对Common有R访问权限,Part1有RW访问权限,Part2没有R访问权限,
  • Part2开发人员对Common有R访问权限,Part1没有R访问权限,Part2有RW访问权限

最新更新