了解 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 包含的一组默认任务和目标。 例如,Clean、DropBuild 和 Compile。 每个目标包含为该特定目标调用的任务。 该文件中的某些目标需要与其他目标构成目标链,按特定顺序执行。 例如,目标 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 文件中修改这些任务以自定义生成定义。 本主题还包括示例。