可自定义的 Team Foundation Build 属性

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

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

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

  • 重写某些生成操作

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

本文档的内容

自定义 Visual C++ 生成

用于自定义任务的属性

可以重写的属性

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

Property

说明

BinariesRoot

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

CleanCompilationOutputOnly

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

CustomizableOutDir

如果您希望阻止 Team Foundation Build 为每个解决方案设置 OutDir,请将此属性设置为 true。 请注意,可以使用 TeamBuildOutDir 属性来检索 Team Foundation Build 在 CustomizableOutDir 设置为 false 的情况下将会赋给 PublishDir 的值。

CustomizablePublishDir

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

CustomPropertiesForBuild

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

CustomPropertiesForClean

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

GetAllowUnmapped

如果搁置集中存在未映射的文件(用于封闭签入和专用生成),则将此属性设置为 false 会使生成失败。

GetAutoMerge

如果在封闭签入或专用生成中进行版本控制 Get 操作期间存在任何冲突,则将此属性设置为 false 会使生成失败。

GetNoCIOption

将此属性设置为 false 后,在运行封闭签入生成时,不会在签入注释中插入 ***NO_CI*** 字符串。 请注意,将此属性设置为 false 会导致对受影响的持续集成生成进行排队。

IncrementalBuild

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

IncrementalGet

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

LabelComment

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

LabelName

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

OutDir

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

PerformTestImpactAnalysis

将此属性设置为 false 可禁用测试影响分析。

PublishTestResults

将此属性设置为 false 可跳过发布测试结果。

SkipClean

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

SkipDropBuild

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

SkipGet

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

SkipGetChangesetsAndUpdateWorkItems

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

SkipInitializeWorkspace

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

SkipInvalidConfigurations

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

SkipLabel

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

SkipPostBuild

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

SkipWorkItemCreation

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

SolutionRoot

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

StopOnFirstFailure

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

UpdateAssociatedWorkItemsOnBuildBreak

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

自定义 Visual C++ 生成

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

团队生成属性

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 配置文件