如何在Team Foundation Server中组织项目

时间:2009-10-14 17:42:21

标签: tfs team-project

寻找有关在TFS中设置解决方案的一些反馈。现在我们正在使用源安全,这很痛苦。幸运的是,我们终于要去TFS了。我们有一系列项目,我正在寻找设置这些项目的“最佳”方式。

核心是服务器解决方案和客户端解决方案,构成我们其他应用程序的框架。服务器有一些Web服务和一些库的集合,客户端解决方案有几个库和几个客户端应用程序。客户端与服务器交互。

还有一些基于此框架构建的应用程序解决方案。在各个应用程序中需要来自框架解决方案的几个DLL。这些DLL引用经常被加入,版本有时会失去同步。应用程序1依赖于Framework客户端项目中的库DLL等

您如何在TFS中设置这些解决方案以最大限度地减少您的问题?您如何在框架解决方案的构建中自动化其中的一部分?我正在寻找的结果是简化应用程序1,2和3从框架Client&获取DLL文件的更新版本。服务器解决方案以及它们在可能的情况下具有相同版本的框架和各个应用程序的发布计划。

我的第一个想法是让一个团队项目包含框架和每个移动应用程序的区域。框架区域将具有客户端和服务器子区域及其子区域。然后在与框架相同的级别上,每个应用程序都将存在。我不确定这将如何工作以及如何强制执行其他应用程序自动获取最新的框架DLL。

  • 框架
  • - 服务器
  • ---服务器WS
  • --- Server Lib
  • --- Server DataAccess
  • - 客户
  • ---客户端WS
  • --- Client Lib
  • --- Client DataAccess
  • 申请1
  • 申请2
  • 申请3

编辑20091020:
在与PM讨论框架和其中一个应用程序之后,这是他对如何布局源代码的想法。这对我来说很有意义,看起来很合乎逻辑。看起来它会保持每个应用程序的开发分支和它们的发布相当孤立,但在同一个项目中,很容易将应用程序的需求链接回框架中所需的更改等。

关于这个问题的想法?您看到的任何优点/缺点?

        Framework  
           .Server  
              .Trunk  
              .Branches  
              .Releases  
           .Client
              .Trunk
              .Branches
              .Releases
        Application 1
           .Trunk
           .Branches
           .Releases
        Application 2
           .Trunk
           .Branches
           .Releases
        Application 3
           .Trunk
           .Branches
           .Releases

2 个答案:

答案 0 :(得分:2)

我认为你有一个所有应用程序所依赖的框架的“发布”稳定版本。我会像这样创建项目结构。

.Development
    .Framework
       .version
    .Application 1
       .version
    .Application 2
         version
.Main
   .Framework
   .Application 1
   .Application 2

.Release
   .Framework version xxx
   .Application 1 version xxx
   .Application 2 version xxx

因此,当您从Source Safe移动时,您将在Team项目中创建一个分支Main。然后为所有开发工作和发布分支分支开发分支,以维护当前版本的源代码版本。 (这将帮助您编写修补程序代码或重现当前生产版本中的任何问题)。

应该从最新版本分支中指出应用程序中的所有引用。这可以通过在为单个应用程序创建构建时获取适当的文件夹来管理。

答案 1 :(得分:0)

Microsoft拥有Visual Studio Team Foundation Server Branching and Merging Guide,可用于选择所需的结构。