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