共用方式為


瞭解 Team Foundation Build 組態檔

更新:2007 年 11 月

Team Foundation Build 會使用 MSBuild 引擎。Team Foundation Build 流程是由一組對應至 MSBuild 專案檔案結構描述的 XML 檔案來控制。這些 XML 檔案中的下列項目對建置流程很重要:

  • Target 項目Target 項目會定義專案的建置 (Build) 方式。Target 項目包含了一組 MSBuild 循序執行的工作。如需目標的詳細資訊,請參閱 MSBuild 目標

  • Task 項目Task 項目會指定在建置流程中要執行的程式碼。如需工作的詳細資訊,請參閱 MSBuild 工作

    MSBuild 包含可用來自訂建置流程的一般工作集合。如需詳細資訊,請參閱 MSBuild 工作參考

  • UsingTask 項目UsingTask 項目會指定組件 (Assembly),其中包含了在建置流程中使用的工作。

MSBuild 指令碼檔可以匯入其他指令碼檔。例如,您可以在一個檔案中定義常用組態,然後將其包含在其他組態中。如需詳細資訊,請參閱 HOW TO:使用多個專案檔內相同的目標

Team Foundation Build 流程由下列這兩個檔案控制:

  • Microsoft.TeamFoundation.Build.targets

    這個檔案會定義隨附於 Team Foundation Build 中的預設工作和目標集合。例如,CleanDropBuildCompile。每個目標都會包含該特定目標所要呼叫的工作。這個檔案中的某些目標需根據其他目標而定,形成一連串必須依照特定順序執行的目標。例如,Compile 目標需根據 BeforeCompile 目標而定,因此,在 BeforeCompile 目標中定義的所有工作都會在 Compile 之前執行。並不是在每項組建 (Build) 中都必須執行在這個檔案中定義的所有目標。例如,桌面組建就不會執行 Clean 目標。

    Microsoft.TeamFoundation.Build.targets 隨附於 Visual Studio Team System 中,您可以在 <root>:\Program Files\MSBuild\Microsoft\VisualStudio\TeamBuild\ 目錄中找到。這個檔案在每部電腦上只有一個複本,由在該部電腦上執行的所有組建共用。

    重要事項:

    請勿修改 Microsoft.TeamFoundation.Build.targets。如果這個檔案遭修改,每個組建定義都會受到影響。若要自訂組建定義,您必須修改與組建定義關聯的 TfsBuild.proj 檔。

  • TfsBuild.proj

    這是 Team Foundation Build 的主要組態檔。此檔案可以只與一個組建定義產生關聯,或由多個組建定義共用。這個檔案會儲存您在 [MSBuild 專案檔建立精靈] 中提供的組態參數。這些參數包括 Team 專案、在建置中斷時建立的工作項目類型、要建置的組態,以及要建置的方案。當您為新的組建定義建立新的專案檔時,[MSBuild 專案檔建立精靈] 便會建立這個檔案。如需詳細資訊,請參閱HOW TO:建立組建定義。這個檔案會匯入 Microsoft.TeamFoundation.Build.targets 並且傳遞至 MSBuild。您在這個檔案中所做的任何變更,都會影響所有與其關聯之組建定義的組建。這個檔案預設會儲存在原始檔控制的 $\MyProject\TeamBuildTypes\BuildDefinition 資料夾中,其中 MyProject 是 Team 專案的名稱,而 BuildDefinition 則是組建定義的名稱。您也可以在 [組建定義] 對話方塊內指定路徑,將這個檔案儲存到不同的位置。

    TfsBuild.proj 檔內含以註解文字型式提供的使用範例。這些範例包括如何在 SolutionToBuild 項目內呼叫自訂目標,以及如何將自訂屬性傳遞給其他項目。

同時,下列檔案也很重要:

  • TfsBuildService.exe.config

    您可以使用 TfsBuildService.exe.config 檔來設定 Team Foundation Build 的某些設定。TfsBuildService.exe.config 包含一些設定,其中包括您可以用來與 Team Foundation 伺服器進行通訊的通訊埠、設定 Team Foundation Build 使用的最大處理序數目、每個專案產生的錯誤和警告,或每個平台和組態組合,以及在建置代理程式上修改原始檔、二進位檔和測試結果的子目錄名稱等。如需詳細資訊,請參閱 HOW TO:修改 TfsBuildService.exe.config 檔案中的設定

    TfsBuildService.exe.config 檔位於應用層伺服器上的 <root>:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\PrivateAssemblies 目錄中。

  • 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 檔中修改這些工作以便自訂組建定義。這個主題包含範例。

請參閱

工作

逐步解說:使用自訂工作自訂 Team Foundation Build

其他資源

自訂 Team Foundation Build

MSBuild 概念