分享方式:


ItemGroup 項目 (MSBuild)

包含一組使用者定義的 Item 項目。 MSBuild 專案中使用的每個項目,都必須指定為 ItemGroup 元素的子系。

<Project><ItemGroup>

語法

<ItemGroup Condition="'String A' == 'String B'"
           Label="Label">
    <Item1>... </Item1>
    <Item2>... </Item2>
</ItemGroup>

屬性和元素

下列章節說明屬性、子元素和父元素。

屬性

屬性 描述
Condition 選用屬性。 要評估的條件。 如需詳細資訊,請參閱條件
Label 選用屬性。 識別 ItemGroup

子元素

元素 描述
項目 定義建置程序的輸入。 ItemGroup 中可能有零或多個 Item 項目。

除了泛型 Item 元素之外,ItemGroup 還允許代表項目類型的子項目,例如 ReferenceProjectReferenceCompile和其他項目,如 Common MSBuild 專案項目所列的項目。

父元素

元素 描述
計畫 MSBuild 專案檔的必要根項目。
Target 從 .NET Framework 3.5 開始,ItemGroup 項目可以出現在 Target 項目內部。 如需詳細資訊,請參閱目標

範例

下列程式碼範例示範使用者定義的項目 (Item) 集合 Res,以及在 ItemGroup 項目 (Element) 內部宣告的 CodeFilesRes 項目 (Item) 集合中的每個項目 (Item),都會包含使用者定義的子系 ItemMetadata 項目 (Element)。

<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
    <ItemGroup>
        <Res Include = "Strings.fr.resources" >
            <Culture>fr</Culture>
        </Res>
        <Res Include = "Dialogs.fr.resources" >
            <Culture>fr</Culture>
        </Res>

        <CodeFiles Include="**\*.cs" Exclude="**\generated\*.cs" />
        <CodeFiles Include="..\..\Resources\Constants.cs" />
    </ItemGroup>
...
</Project>

在簡單的專案檔中,您通常會使用單一 ItemGroup 元素,但您也可以使用多個 ItemGroup 元素。 使用多個 ItemGroup 元素時,項目會合並成單一 ItemGroup。 例如,某些項目可能會包含於匯入檔案中定義的個別 ItemGroup 元素。

ItemGroups 可以使用 Condition 屬性來套用條件。 在此情況下,只有在滿足條件時,才會將項目新增至項目清單。 請參閱 MSBuild 條件

Label 屬性用於某些建置系統中,做為控制建置行為的一種方式。 您只能在宣告中使用,做為建立更了解 MSBuild 指令碼的方法,或做為影響建置動作的控制項設定。

另請參閱