了解 Team Foundation Build 配置文件

更新:2007 年 11 月

Team Foundation Build 使用 MSBuild 引擎。Team Foundation Build 过程由对应于 MSBuild 项目文件架构的一组 XML 文件控制。这些 XML 文件中的以下元素对于生成过程而言十分重要:

  • Target 元素   Target 元素定义了项目的生成方式。Target 元素包含一组任务,这些任务由 MSBuild 按顺序运行。有关目标的更多信息,请参见 MSBuild 目标

  • Task 元素   Task 元素指定生成过程中运行的代码。有关任务的更多信息,请参见 MSBuild 任务

    MSBuild 包含一系列常见任务,这些任务可用于自定义生成过程。有关更多信息,请参见 MSBuild 任务参考

  • UsingTask 元素   UsingTask 元素指定程序集,该程序集包含生成过程中使用的任务。

MSBuild 脚本文件可以导入其他脚本文件。例如,您可以在一个文件中定义一个常见配置,然后将它包含在其他配置中。有关更多信息,请参见 如何:在多个项目文件中使用同一目标

两个文件控制 Team Foundation Build 过程:

  • Microsoft.TeamFoundation.Build.targets

    该文件定义 Team Foundation Build 包含的一组默认任务和目标。例如,CleanDropBuildCompile。每个目标包含为该特定目标调用的任务。该文件中的某些目标需要与其他目标构成目标链,按特定顺序执行。例如,目标 Compile 依赖于目标 BeforeCompile,以便在 Compile 之前执行目标 BeforeCompile 中定义的任何任务。并非该文件中定义的所有目标都必须在每次生成中执行。例如,桌面生成不执行 Clean 目标。

    Visual Studio Team System 附带有 Microsoft.TeamFoundation.Build.targets,该文件位于目录 <根>:\Program Files\MSBuild\Microsoft\VisualStudio\TeamBuild\ 中。该文件在计算机上只有一个副本,并且计算机上运行的所有生成将共享它。

    重要说明:

    不要修改 Microsoft.TeamFoundation.Build.targets。如果修改该文件,将影响每一个生成定义。若要自定义生成定义,必须修改与生成定义相关联的 TfsBuild.proj 文件。

  • TfsBuild.proj

    这是 Team Foundation Build 的主配置文件。它可以只与一个生成定义相关联,也可以由多个生成定义共享。“MSBuild 项目文件创建向导”中提供的配置参数存储在该文件中。这些参数包括团队项目、生成中断时创建的工作项类型、要生成的配置以及要生成的解决方案。在您为新的生成定义创建新的项目文件时,“MSBuild 项目文件创建向导”创建该文件。有关更多信息,请参见 如何:创建生成定义。该文件导入 Microsoft.TeamFoundation.Build.targets 目标并将它传递给 MSBuild。对该文件所做的任何更改都将影响与其关联的所有生成定义的生成。默认情况下,该文件存储在源代码管理中的文件夹 $\我的项目\TeamBuildTypes\生成定义 下,其中我的项目 是团队项目的名称,生成定义 是生成定义的名称。也可以通过在“生成定义”对话框中指定该文件来将该文件存储在其他位置。

    TfsBuild.proj 文件中的注释文本包含用法示例。这些示例包括如何在 SolutionToBuild 元素中调用自定义目标以及如何将自定义属性传递给其他元素。

下列这些文件也是很重要的:

  • TfsBuildService.exe.config

    您可以使用 TfsBuildService.exe.config 文件来配置 Team Foundation Build 的某些方面。TfsBuildService.exe.config 包括用于与 Team Foundation 服务器进行通信的端口的设置;用于配置由 Team Foundation Build 使用的最大进程数的设置;用于针对每个项目或每个平台和配置组合生成错误和警告的设置;用于在生成代理上修改源代码、二进制文件和测试结果子目录名称的设置。有关更多信息,请参见如何:修改 TfsBuildService.exe.config 文件中的设置

    TfsBuildService.exe.config 文件位于应用层服务器上的 <根>:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\PrivateAssemblies 中。

  • TfsBuild.rsp

    这是由“MSBuild 项目文件创建向导”生成的空文件。该文件可用于指定自定义记录器或重写 MSBuild 属性。有关更多信息,请参见 MSBuild 响应文件

目标、属性和任务

下列主题将描述 Microsoft.TeamFoundation.Build.targets 中定义的默认目标、任务和属性。

  • 可自定义的 Team Foundation Build 目标
    列出 Microsoft.TeamFoundation.Build.targets 中定义的目标,您可以通过写入自定义任务来重写这些目标。它包括说明如何自定义生成过程的示例。

  • 可自定义的 Team Foundation Build 属性
    列出 Microsoft.TeamFoundation.Build.targets 中定义的默认属性,您可以在 TfsBuild.proj 文件中重写这些属性。本主题包括示例。

  • Team Foundation Build 任务
    列出 Microsoft.TeamFoundation.Build.targets 中定义的默认任务,您可以在 TfsBuild.proj 文件中修改这些任务以自定义生成定义。本主题包括示例。

请参见

任务

演练:通过自定义任务自定义 Team Foundation Build

其他资源

自定义 Team Foundation Build

MSBuild 概念