将 Team Foundation Build 配置为增量生成

本主题介绍如何使用升级模板定义增量生成。 有关升级模板的更多信息,请参见使用升级模板定义生成。 使用默认模板可以更为轻松地执行此过程。 有关更多信息,请参见使用默认模板定义生成

增量生成重新使用由 Team Foundation Build 维护的上一次生成的结果,以根据上次生成后所做的更改执行优化的生成。

在创建增量生成的生成定义后,运行第一个生成。 此操作将创建所需的工作区并将所有源文件获取到生成计算机上。

系统必备

在完成此任务之前,请确保符合以下条件:

  • 对要进行自定义的生成类型的 TFSBuild.proj 文件具有访问权限。

    每个团队生成定义都有一个关联的 TFSBuild.proj 文件,该文件位于 Team Foundation 版本控制中的文件夹 $/我的团队项目/TeamBuildTypes/我的生成名称 中。 MyTeamProject 是团队项目的名称, 是所有团队项目源的根节点。 我的生成名称 是为生成定义指定的名称。 有关如何创建 Team Foundation Build 生成类型的更多信息,请参见创建基本生成定义

  • 一个位于本地计算机上的本地工作区,其中包含团队项目文件和生成文件。

    有关更多信息,请参见创建工作区并获取文件获取团队项目的源代码

提示

通过在“MSBuild 参数”中包括以下字符串 parameter: /p:IncrementalBuild=true,还可以在对生成进行排队时以增量方式运行生成。 有关更多信息,请参见将生成排入队列

所需权限

若要完成此任务,必须将**“管理生成”“管理工作区”的权限设置为“允许”。 还必须将“签入”“签出”权限设置为“允许”**。 有关更多信息,请参见 Team Foundation Server 权限

获取 TFSBuild.proj 文件的本地副本

在更改用于定义生成定义的 TFSBuild.proj 文件之前,必须先获取一个本地副本。

获取 TFSBuild.proj 文件的本地副本

  1. 在**“视图”菜单上选择“其他窗口”,然后选择“源代码管理资源管理器”**。

  2. 在“源代码管理资源管理器”中单击工具栏上的**“工作区”**,然后从列表中选择您的工作区。

  3. 打开包含生成类型的团队项目文件夹,然后展开**“TeamBuildTypes”**文件夹。

  4. 右击 TFSBuild.proj 文件,然后选择**“获取最新版本”**以复制文件的最新版本。

    有关更多信息,请参见获取团队项目的源代码

设置 TFSBuild.proj 文件中的属性

若要指定增量生成,必须设置 TFSBuild.proj 文件中的 IncrementalBuild 属性。

设置 TFSBuild.proj 文件中的属性

  • 使用 IncrementalBuild 属性,可以很方便将 SkipClean 设置为 true、将 SkipInitializeWorkspace 设置为 true 以及将 ForceGet 设置为 false。

  • Team Foundation Build 在执行完整生成时将清除 Clean 目标中的中间生成文件夹和源文件夹内的文件。 在增量生成中必须跳过此目标,因为这些文件必须保持不变以用于下一次生成。 为此,请将 SkipClean 设置为 true。

  • 作为完整生成的一部分,Team Foundation Build 将删除旧工作区并重新创建新的工作区,以清除并同步源文件。 在增量生成中也必须跳过此目标。 为此,请将 SkipInitializeWorkspace 设置为 true。

  • Get 任务中,Team Foundation Build 默认情况下检索新的源文件并覆盖生成工作区中的现有文件。 若要检索更改的文件,请将属性 ForceGet 设置为 false。

    若要将 IncrementalBuild 属性设置为 true,请将 PropertyGroup 定义添加到 TFSBuild.proj 文件的末尾、结束 </project> 标记之前。

       <PropertyGroup>
          <IncrementalBuild>true</IncrementalBuild>
       </PropertyGroup>
    

请参见

概念

可自定义的 Team Foundation Build 目标

提交更改