共用方式為


可自訂的 Team Foundation Build 屬性

MSBuild 屬性是關鍵值組,可以用來設定組建 (Build)。 如需詳細資訊,請參閱 MSBuild 屬性

Microsoft.TeamFoundation.Build.targets 檔會針對 Team Foundation Build 定義許多 MSBuild 目標 (Target)、工作和屬性。 您可以在 TFSBuild.proj 檔中修改這些屬性以進行下列作業:

  • 傳遞值給 Team Foundation Build 工作和目標

  • 覆寫特定建置動作

如需 TFSBuld.proj 檔的詳細資訊,請參閱認識 Team Foundation Build 組態檔

本文內容

自訂 Visual C++ 組建

用來自訂工作的屬性

可覆寫的屬性

下表將列出針對 Team Foundation Build 定義的屬性。 您可以在 TfsBuild.proj 檔中覆寫這些屬性,以自訂建置程序。 如需詳細資訊,請參閱 自訂 SolutionToBuild 項目群組

屬性

說明

BinariesRoot

將此屬性設定為指向組建電腦上二進位檔資料夾的根目錄。

CleanCompilationOutputOnly

將此屬性設定為 true,即可在 CoreClean 目標執行期間,只從來源目錄刪除中繼組件。 如果這個屬性設定為 false,則在 CoreClean 目標執行期間將會刪除整個來源目錄。

CustomizableOutDir

想要防止 Team Foundation Build 設定每個方案的 OutDir 時,請將這個屬性設為 true。 請注意,如果 CustomizableOutDir 設為 false,則可以使用 TeamBuildOutDir 屬性來擷取 Team Foundation Build 已指派給 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

將此屬性設定為 false,即可在版本控制取得作業期間閘道簽入或私用組建中有任何衝突時,讓建置失敗。

GetNoCIOption

將此屬性設定為 false,即可在執行閘道簽入組建時不將 ***NO_CI*** 字串插入簽入註解。 請注意,將此屬性設定為 false 時,會導致受影響的連續整合組建排入佇列。

IncrementalBuild

將此屬性設定為 true,以進行累加建置 (Incremental Build) 作業。 這是一個快捷屬性,其中將 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

Team Build 屬性

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>

請參閱

工作

HOW TO:在組建中使用環境變數

概念

認識 Team Foundation Build 組態檔