了解 Team Foundation Build 配置文件

本主题介绍升级模板所使用的配置文件。 有关升级模板的更多信息,请参见使用升级模板定义生成。 用于生成这些文件的功能(如**“MSBuild 项目文件创建向导”**)只能在 Visual Studio Team System 2008 中使用。

处理“升级模板”生成时,Team Foundation Build 使用 MSBuild 引擎。 过程由对应于 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 Application Lifecycle Management 附带有 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 元素中调用自定义目标以及如何将自定义属性传递给其他元素。

  • 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 文件中修改这些任务以自定义生成定义。 本主题还包括示例。