共用方式為


Target 項目 (MSBuild)

更新:2007 年 11 月

包含 MSBuild 會依序執行的一組工作。

 <Target Name="Target Name"         DependsOnTargets="DependentTarget"         Inputs="Inputs"         Outputs="Outputs"         Condition="'String A' == 'String B'">     <Task>... </Task>     <OnError... /> </Target>

屬性和項目

下列小節將說明屬性 (Attribute)、子項目和父項目。

屬性

屬性

描述

Name

必要的屬性。

目標 (Target) 的名稱。

DependsOnTargets

選擇性屬性。

在能夠執行此目標,或者開始最上層相依性的分析之前,所必須執行的目標。分號會分隔多個目標。

Inputs

選擇性屬性。

此目標的項目輸入。此屬性內的項目,用來做為最上層相依性分析的輸入。

Outputs

選擇性屬性。

此目標的預期輸出。您可以將轉換套用至輸入項目以產生輸出項目。如需轉換的詳細資訊,請參閱 MSBuild 轉換

Condition

選擇性屬性。

要評估的條件。如果條件評估為 false,目標就不會執行目標的主體,或是 DependsOnTargets 屬性中設定的任何目標。如需條件的詳細資訊,請參閱 MSBuild 條件

子項目

項目

描述

工作

建立並執行 MSBuild 工作的執行個體。目標中可能含有零或多個工作。

OnError

如果失敗的工作之 ContinueOnError 屬性為 false,便會執行一或多個目標。目標中可能有零或多個 OnError 項目。如果有 OnError 項目的話,這些項目必須是 Target 項目中的最後項目。

父項目

項目

描述

Project

MSBuild 專案檔的必要根項目。

備註

第一個要執行的目標是在執行階段指定。目標可以對其他目標具有相依性。例如,部署的目標可以相依於編譯 (Compilation) 的目標。MSBuild 引擎以相依性出現在 DependsOnTargets 屬性中的順序,從左至右執行這些相依性。如需詳細資訊,請參閱 MSBuild 目標

在建置期間一個目標只能執行一次,即使有一個以上的目標對此目標具有相依性亦是如此。

即使由於目標的 Condition 屬性評估為 false 而略過該目標,如果之後在建置時叫用 (Invoke) 該目標,而且其 Condition 屬性在那時評估為 true,就依然會執行該目標。

範例

在下列程式碼範例中,示範了執行 Csc 工作的 Target 項目。

<Target Name="Compile" DependsOnTarget="Resources" >
    <Csc Sources="@(CSFile)"
          TargetType="library"
          Resources="@(CompiledResources)"
          EmitDebugInformation="$(includeDebugInformation)"
          References="@(Reference)"
          DebugType="$(debuggingType)" >
        <Output TaskParameter="OutputAssembly"
                  ItemName="FinalAssemblyName" />
    </Csc>
</Target>

請參閱

概念

MSBuild 目標

MSBuild 專案檔案結構描述參考