認識 Team Foundation Build 組態檔
本主題將說明升級範本所使用的組態檔。 如需升級範本的詳細資訊,請參閱 使用升級範本定義組建。 用來產生這些檔案的功能 (例如 [MSBuild 專案檔建立精靈]) 只能在 Visual Studio Team System 2008 中使用。
在處理升級範本組建時,Team Foundation Build 會使用 MSBuild 引擎。 此流程是由一組對應至 MSBuild 專案檔案結構描述的 XML 檔案來控制。 這些 XML 檔案中的下列項目對建置流程很重要:
Target 項目:Target 項目會定義專案的建置方式。 Target 項目包含 MSBuild 會循序執行的一組工作。 如需目標的詳細資訊,請參閱 MSBuild 目標。
Task 項目:Task 項目會指定在建置流程中要執行的程式碼。 如需工作的詳細資訊,請參閱 MSBuild 工作。
MSBuild 包含可用來自訂建置流程的一般工作集合。 如需詳細資訊,請參閱 MSBuild 工作參考。
UsingTask 項目:UsingTask 項目會指定組件 (Assembly),其中包含了在建置流程中使用的工作。
MSBuild 指令碼檔可以匯入其他指令碼檔。 例如,您可以在一個檔案中定義常用組態,然後將其包含在其他組態中。 如需詳細資訊,請參閱 HOW TO:使用多個專案檔內相同的目標。
Team Foundation Build 流程由下列這三個檔案控制:
Microsoft.TeamFoundation.Build.targets
這個檔案會定義隨附於 Team Foundation Build 中的預設工作和目標集合。 例如,Clean、DropBuild 和 Compile。 每個目標都會包含該特定目標所要呼叫的工作。 這個檔案中的某些目標需根據其他目標而定,形成一連串必須依照特定順序執行的目標。 例如,Compile 目標需根據 BeforeCompile 目標而定,因此,在 BeforeCompile 目標中定義的所有工作都會在 Compile 之前執行。 並不是在每項組建 (Build) 中都必須執行在這個檔案中定義的所有目標。 例如,桌面組建就不會執行 Clean 目標。
Microsoft.TeamFoundation.Build.targets 隨附於 Visual Studio Application Lifecycle Management 中,您可以在 <root>:\Program Files\MSBuild\Microsoft\VisualStudio\TeamBuild\ 目錄中找到。 這個檔案在每部電腦上只有一個複本,由在該部電腦上執行的所有組建共用。
重要事項 請勿修改 Microsoft.TeamFoundation.Build.targets。 如果這個檔案遭修改,每個組建定義都會受到影響。 若要自訂組建定義,您必須修改與組建定義關聯的 TfsBuild.proj 檔。
TfsBuild.proj
這是 Team Foundation Build 的主要組態檔。 此檔案可以只與一個組建定義產生關聯,或由多個組建定義共用。 這個檔案會儲存您在 [MSBuild 專案檔建立精靈] 中提供的組態參數。 這些參數包括 Team 專案、在建置中斷時建立的工作項目類型、要建置的組態,以及要建置的方案。 當您為新的組建定義建立專案檔時,[MSBuild 專案檔建立精靈] 便會建立這個檔案。 如需詳細資訊,請參閱 建立基本組建定義。 這個檔案會匯入 Microsoft.TeamFoundation.Build.targets 並且傳遞至 MSBuild。 您在這個檔案中所做的任何變更,都會影響所有與其關聯之組建定義的組建。 這個檔案預設會儲存在原始檔控制的 $\MyProject\TeamBuildTypes\BuildDefinition 資料夾中,其中 MyProject 是 Team 專案的名稱,而 BuildDefinition 則是組建定義的名稱。 您也可以在 [組建定義] 對話方塊內指定路徑,將這個檔案儲存到不同的位置。
TfsBuild.proj 檔內含以註解文字型式提供的使用範例。 這些範例包括如何在 SolutionToBuild 項目內呼叫自訂目標,以及如何將自訂屬性傳遞給其他項目。
TfsBuild.rsp
這是由 [MSBuild 專案檔建立精靈] 所產生的空檔案。 這個檔案可用來指定自訂記錄器或覆寫 MSBuild 屬性。 如需詳細資訊,請參閱 MSBuild 回應檔。
目標、屬性和工作
下列主題將說明 Microsoft.TeamFoundation.Build.targets 中定義之預設目標、工作和屬性。
可自訂的 Team Foundation Build 目標
列出在 Microsoft.TeamFoundation.Build.targets 中定義的目標,您可以透過撰寫自訂工作覆寫這些目標。 這個主題包含說明如何自訂建置流程的範例。可自訂的 Team Foundation Build 屬性
列出在 Microsoft.TeamFoundation.Build.targets 中定義的預設屬性,您可以在 TfsBuild.proj 檔中覆寫這些屬性。 這個主題也包含一些範例。Team Foundation Build 工作
列出在 Microsoft.TeamFoundation.Build.targets 中定義的預設工作,您可以在 TfsBuild.proj 檔中修改這些工作以便自訂組建定義。 這個主題也包含一些範例。