可自定义的 Team Foundation Build 属性

更新:2007 年 11 月

MSBuild 属性是可用于配置生成的键值对。有关更多信息,请参见 MSBuild 属性

Microsoft.TeamFoundation.Build.targets 文件为 Team Foundation Build 定义了多个 MSBuild 目标、任务和属性。可以在 TFSBuild.proj 文件中修改这些属性,从而:

  • 将值传递给 Team Foundation Build 任务和目标

  • 重写某些生成操作

有关 TFSBuld.proj 文件的更多信息,请参见了解 Team Foundation Build 配置文件

本文档的内容

自定义 VC++ 生成

用于自定义任务的属性

可以重写的属性

下表列出了为 Team Foundation Build 定义的属性。您可以在 TfsBuild.proj 文件中重写这些属性来自定义生成过程。有关更多信息,请参见如何:自定义 SolutionToBuild 项组

属性

说明

CustomPropertiesForClean

当 Team Foundation Build 调用 Clean 目标时,设置此属性可为每个解决方案传递自定义值。

CustomPropertiesForBuild

当 Team Foundation Build 调用其默认目标(通常为 Build)时,设置此属性可为每个解决方案传递自定义值。

SkipClean

设置此属性可跳过 CoreClean 目标。

IncrementalGet

将此属性设置为 true 可执行渐进式获取。该属性使用起来很方便,它可以将 CleanCompilationOutputOnly 设置为 true,将 SkipInitializeWorkspace 设置为 true,并将 ForceGet 设置为 false。

IncrementalBuild

将此属性设置为 true 可执行渐进式生成。该属性使用起来很方便,它可以将 SkipClean 设置为 true,将 SkipInitializeWorkspace 设置为 true,并将 ForceGet 设置为 false。

CleanCompilationOutputOnly

将此属性设置为 true 可以在 CoreClean 目标执行期间从源代码目录中仅删除中间程序集。如果将此属性设置为 false,则在 CoreClean 目标执行期间,整个源代码目录都会被删除。

SkipGetChangesetsUpdateWorkItems

将此属性设置为 true 可跳过成功生成的变更集关联和工作项更新操作。

SolutionRoot

设置此属性可指向生成计算机上的源文件夹的根目录。

BinariesRoot

设置此属性可指向生成计算机上的二进制文件夹的根目录。

LabelComment

设置此属性可定义 Label 任务使用的注释。

LabelName

设置此标签名称可以定义 Label 任务使用的名称。默认情况下,标签名称在 InitializeEndToEndIteration 目标中设置为 $(BuildNumber)。

OutDir

设置此属性可定义输出文件在生成工作目录中的位置。

UpdateAssociatedWorkItemsOnBuildBreak

将此属性设置为 true 可更新关联的工作项(即使生成中断也是如此)。

StopOnFirstFailure

将此属性设置为 true 可在生成执行期间第一次遇到失败时停止清理、编译和/或测试操作。

SkipGet

设置此属性可跳过 CoreGet 目标。

SkipLabel

设置此属性可跳过 CoreLabel 目标。

SkipInitializeWorkspace

设置此属性可跳过 CoreInitializeWorkspace 目标。

SkipInvalidConfigurations

如果将此属性设置为 false,则在用户遇到无效的配置时会生成错误而非警告。

SkipPostBuild

设置此属性以跳过收集关联的变更集和工作项的操作。

SkipDropBuild

设置此属性可跳过 CoreDropBuild 目标。

SkipWorkItemCreation

设置此属性可跳过 CoreCreateWorkItem 目标。

CustomizableOutDir

如果您希望阻止 Team Foundation Build 为每个解决方案设置 OutDir,请将此属性设置为 true。请注意,如果 CustomizablePublishDir 设置为 false,则可以使用 TeamBuildPublishDir 属性检索 Team Foundation Build 赋给 PublishDir 的值。

CustomizablePublishDir

如果您希望阻止 Team Foundation Build 为每个解决方案设置 PublishDir 目录,请将此属性设置为 true。请注意,如果 CustomizablePublishDir 设置为 false,则可以使用 TeamBuildPublishDir 属性检索 Team Foundation Build 赋给 PublishDir 的值。

自定义 VC++ 生成

Team Foundation Build 还支持自定义生成 Visual C++ 项目。您可以使用下列属性在 MSBuild 所使用的 VCBuild 任务上设置相应的属性,以便生成 Visual C++ 项目。有关更多信息,请参见 VCBuild 任务

团队生成属性

VCBuild 任务属性

说明

VCBuildAdditionalLibPaths

AdditionalLibPaths

指定在搜索 LIB 环境变量路径之前用于搜索库的附加路径(对应于 LINK.exe 的 LIBPATH 选项)。

VCBuildAdditionalOptions

AdditionalOptions

指定没有专用任务参数的附加命令行选项。

VCBuildToolPath

ToolPath

指定 VCBuild 任务将从什么位置加载基础可执行文件 (VCBuild.exe)。

VCBuildUseEnvironment

UseEnvironment

将此属性设置为 true 可对 PATH、INCLUDE、LIBS 和 LIBPATH 使用环境变量。否则,将其设置为 false。此属性对应于 VCBuild.exe/useenv 选项。有关更多信息,请参见 /useenv

AdditionalVCOverrides

使用此属性可为由 Team Foundation Build 生成的并在 VCBuild 任务的 Override 属性中指定的 VCBuild 任务表文件指定附加选项。

用于自定义任务的属性

Microsoft.TeamFoundation.Build.targets 文件中的每个默认 Team Foundation Build 任务还包括一组可用于自定义任务的属性。有关 Team Foundation Build 任务的更多信息,请参见 Team Foundation Build 任务。例如,CreateNewWorkItem 任务定义如下。

<!-- Create WorkItem for build failure -->
<CreateNewWorkItem
          TeamFoundationServerUrl="$(TeamFoundationServerUrl)"
          BuildUri="$(BuildUri)"
          BuildNumber="$(BuildNumber)"
          Description="$(WorkItemDescription)"
          TeamProject="$(TeamProject)"
          Title="$(WorkItemTitle)"
          WorkItemFieldValues="$(WorkItemFieldValues)"
          WorkItemType="$(WorkItemType)"
          ContinueOnError="true" />

若要自定义在生成失败时所创建的工作项,请在 TFSBuild.proj 文件中设置 WorkItemFieldValues

说明:

下面的示例假设还设置了 Areapath 和 IterationPath 属性。

<WorkItemFieldValues>Area Path=$(AreaPath);Iteration Path=$(IterationPath);Severity=1;Priority=0;Symptom=build break;Steps To Reproduce=Start the build using Team Build;Source=Development;How Found=Build Break;Assigned To=Active</WorkItemFieldValues>

请参见

任务

如何:在生成中使用环境变量

概念

了解 Team Foundation Build 配置文件