如何:更新分支的团队项目上的生成定义
更新:2007 年 11 月
对 Team Foundation 版本控制进行分支会将所有文件夹和文件(包括“TeamBuildTypes”文件夹)从以前的分支复制到目标分支。有关更多信息,请参见对 Team Foundation 版本控制进行分支和合并。有两种以不同方式影响团队项目生成类型的分支情况需要考虑:
部分分支 当包含多个解决方案的团队项目文件夹只有一个或部分解决方案被分支时。
完整分支 当团队项目文件夹作为整体被分支时。
使用部分分支时,“TeamBuildTypes”文件夹中包含的生成定义对其原始配置仍将有效。也就是说,它们将针对原始分支运行。使用部分分支时,建议在需要的地方创建新的生成定义以指向原始分支和新分支中的解决方案。有关更多信息,请参见如何:创建生成定义。虽然可以修改新分支中现有的 TFSBuild.proj 文件以指向相应的路径,但是通过创建新的生成定义,您保留了原始生成定义,仍可将它们用于上一个分支前的配置。
与部分分支一样,在团队项目内创建完整分支时,将生成团队资源管理器中的原始“TeamBuildTypes”文件夹的副本。新分支的文件夹中包含的生成定义不会自动对新分支发生作用。与部分分支一样,它将针对原始分支路径运行。在这种情况下,建议您将 TFSBuild.proj 文件中的解决方案的路径改为指向正确的文件夹。
必需的权限
若要更新分支团队项目上的生成定义,必须将“管理生成”权限设置为“允许”。此外,对 Team Build Types 文件夹的“签出”权限也需要设置为“允许”。有关更多信息,请参见 Team Foundation Server 权限。
过程
编辑由于完整分支操作而更新的生成定义路径对应的 TFSBuild.proj 文件
若要编辑现有的生成定义以更新解决方案的路径,请签出对应的 TFSBuild.proj 文件。
有关更多信息,请参见从版本控制服务器获取文件的本地副本。
右击源代理管理中的 TFSBuild.proj 文件,再选择“签出以进行编辑”。
双击 TFSBuild.proj 文件在 Visual Studio 中将其打开。
在 TFSBuild.proj 文件中找到 <ItemGroup> 标记。在 <ItemGroup> 标记内,更新每个 SolutionToBuild 标记的路径,如下面的示例所示。
从团队项目文件夹 Alpha 中复制的原始文件:
<ItemGroup> <SolutionToBuild Include="$(SolutionRoot)\Alpha\path\Solution1.sln" /> <SolutionToBuild Include="$(SolutionRoot)\Alpha\path\Solution2.sln" /> </ItemGroup>
为反映新分支文件夹(称为 Beta)所进行的修改:
<ItemGroup> <SolutionToBuild Include="$(SolutionRoot)\Beta\path\Solution1.sln" /> <SolutionToBuild Include="$(SolutionRoot)\Beta\path\Solution2.sln" /> </ItemGroup>
保存 TFSBuild.proj 文件,并将其签入源代码管理。
文件中更新路径的对应修改将影响生成定义的进度。如果 TFSBuild.proj 文件与多个生成定义关联,则更新路径将影响所有生成定义。