可自定义的 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>