我们刚刚安装了TFS并准备好了。我正在尝试决定磁盘结构。假设我有两个名为Common和BookTransfer的BizTalk项目(实际上我有7个)。 [在这个客户端,我们采用了一个名为BizTalk.Artifacts的项目中具有模式,orch,地图的风格]。名为“components”的文件夹是C#代码。我们正在使用名为BizTalk部署框架的CodePlex工具,它在某种程度上决定了结构的一部分。
我正在尝试确定我们应该在磁盘目录上进行多少嵌套(EC是应用程序名称,而Common / BookTransfer或BizTalk Applications分离出来以便于部署/取消部署)。
提案#1:
-EC
- Main
- Source
- Common
- Company.EC.Common.Biztalk.Artifacts [folder]
- Company.EC.Common.BizTalk.Components [folder]
- Company.EC.Common.Biztalk.Deployment [folder]
- Company.EC.BookTransfer.BizTalk.sln
- BookTransfer
- Company.EC.BookTransfer.BizTalk.Artifacts [folder]
- Company.EC.BookTransfer.BizTalk.Components [folder]
- Company.EC.BookTransfer.BizTalk.Components.UnitTest [folder]
- Company.EC.BookTransfer.BizTalk.Deployment [folder]
- Company.EC.BookTransfer.BizTalk.sln
提案#2 - 更平坦的方法
-EC
- Main
- Source
- Company.EC.Common.BizTalk.sln
- Company.EC.BookTransfer.BizTalk.sln
- Company.EC.Common.Biztalk.Artifacts [folder]
- Company.EC.Common.BizTalk.Components [folder]
- Company.EC.Common.Biztalk.Deployment [folder]
- Company.EC.BookTransfer.BizTalk.Artifacts [folder]
- Company.EC.BookTransfer.BizTalk.Components [folder]
- Company.EC.BookTransfer.BizTalk.Components.UnitTest [folder]
- Company.EC.BookTransfer.BizTalk.Deployment [folder]
当前结构(可能有太多嵌套文件夹)
- Main
- Source
- Company
- EC
- Common
- BizTalk
-Company.EC.Common.Biztalk.Artifacts [folder]
-Company.EC.Common.BizTalk.Components [folder]
-Company.EC.Common.Biztalk.Deployment [folder]
-Company.EC.BookTransfer.BizTalk.sln
- BookTransfer
- BizTalk
- Company.EC.BookTransfer.BizTalk.Artifacts [folder]
- Company.EC.BookTransfer.BizTalk.Components [folder]
- Company.EC.BookTransfer.BizTalk.Components.UnitTest [folder]
- Company.EC.BookTransfer.BizTalk.Deployment [folder]
- Company.EC.BookTransfer.BizTalk.sln
“Main”是在我们分支的情况下,我们将有其他分支具有相同的结构。
答案 0 :(得分:3)
中度平坦是最好的。看一下你的例子,我要提醒你注意组合的路径/文件名长度。您可以非常快速地达到260个字符的最大路径长度,特别是如果您在单独的构建服务器上构建,因为您还需要考虑该路径的长度。
我们的方法是:
Team Project
- Main
- LocalBin
- Src
- Subject Area
- SubjectArea.sln
- src
- subjectarea.csproj
我们使用LocalBin作为构建的目标,因为它使我们在企业环境中创建WIX打包项目变得更加容易,并且我们为我们的部署创建了大规模的MSI(例如我们的一个包有400多个DLL)。
在某些情况下,我们确实更深入一两级,但这主要是因为我们从之前的SCM系统(StarTeam)提出的结构。如果我们必须从头开始进行嵌套深度将是一个主要问题。