可自訂的 Team Foundation Build 屬性
更新:2007 年 11 月
MSBuild 屬性是關鍵值組,可以用來設定組建 (Build)。如需詳細資訊,請參閱 MSBuild 屬性。
Microsoft.TeamFoundation.Build.targets 檔會針對 Team Foundation Build 定義許多 MSBuild 目標 (Target)、工作和屬性。您可以在 TFSBuild.proj 檔中修改這些屬性以進行下列作業:
傳遞值給 Team Foundation Build 工作和目標
覆寫特定建置動作
如需 TFSBuld.proj 檔的詳細資訊,請參閱瞭解 Team Foundation Build 組態檔。
本文內容
自訂 VC++ 建置
用來自訂工作的屬性
可覆寫的屬性
下表將列出針對 Team Foundation Build 定義的屬性。您可以在 TfsBuild.proj 檔中覆寫這些屬性,以自訂建置程序。如需詳細資訊,請參閱 HOW TO:自訂 SolutionToBuild 項目群組。
屬性 |
描述 |
---|---|
CustomPropertiesForClean |
當 Team Foundation Build 呼叫 Clean 目標時設定這個屬性,將自訂值傳遞給每個方案。 |
CustomPropertiesForBuild |
當 Team Foundation Build 呼叫其預設的目標 (通常為 Build) 時設定這個屬性,將自訂值傳遞給每個方案。 |
SkipClean |
將此屬性設定為略過 CoreClean 目標。 |
IncrementalGet |
將此屬性設定為 true,以進行累加取得作業。這是一個快捷屬性,其中將 CleanCompilationOutputOnly 設定為 true,將 SkipInitializeWorkspace 設定為 true,並將 ForceGet 設定為 false。 |
IncrementalBuild |
將此屬性設定為 true,以進行累加建置 (Incremental Build) 作業。這是一個快捷屬性,其中將 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 工作。
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>