操作方法:使用TeamCity引用外部SLN文件

时间:2009-10-27 20:42:32

标签: teamcity

我是TeamCity的新手,我们有许多源代码管理的常见项目,然后直接在相关项目中引用,即:

Common
  branches
  tags
  trunk
    CommonProject
      CommonProject.csproj
    Common.sln
ProjectX
  branches
  tags
  trunk
    ProjectX.sln

因此,“ProjectX.sln”中对“CommonProject.csproj”的引用与...... \ Common \ trunk \ CommonProject \ CommonProject.csproj的内容类似,这在我们的开发环境中很好但是当它来到TeamCity它说它无法找到路径“.... \ Common \ trunk \ CommonProject \ CommonProject.csproj”

解决此问题的最佳方法是什么?我尝试将CommonProject添加到TeamCity作为依赖,但它似乎仍然不想玩球......

由于

1 个答案:

答案 0 :(得分:0)

我们通过在Subversion中使用Externals来解决这个问题,它允许您从不同的(位)存储库中提取内容。

然后,当我们构建解决方案时,我们将这些常见项目分组到具有项目特定解决方案的相同文件夹中 - 即,当我们检查出来时,我们有:

Solution1
   +---Project1
   +---Project2
   +---Project3
   +---Common1
   +---Common2

然后,分开:

Solution2
   +---ProjectA
   +---ProjectB
   +---ProjectC
   +---Common1
   +---Common2

因为我们以这种方式设置了外部和目录/文件夹结构,理论上你应该能够将“解决方案”签出(或导出)到空目录并让它从头开始成功构建(受制于所有必要的工具都已安装)因此TeamCity(或任何你的持续集成服务器)也应该能够从头开始构建它。事实上,甚至在我们开始使用TeamCity之前,我就已将此作为策略,但一旦开始持续集成,价值就会更清晰。

Subversion Red Book的相应位在这里:Externals Definitions