ItemGroup 要素 (MSBuild)

ユーザー定義 Item 要素のセットが含まれます。 MSBuild プロジェクトで使用されるすべての項目が、ItemGroup 要素の子として指定されている必要があります。

<Project><ItemGroup>

構文

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

属性と要素

以降のセクションでは、属性、子要素、および親要素について説明します。

属性

属性 説明
Condition 省略可能な属性です。 評価する条件です。 詳細については、「条件」を参照してください。
Label 省略可能な属性です。 ItemGroup を識別します。

子要素

要素 説明
Item ビルド プロセスの入力を定義します。 1 つの ItemGroup に 0 個以上の Item 要素を含めることができます。

汎用 Item 要素に加えて、ItemGroup では、共通のMSBuild プロジェクト項目に記載されている項目の種類 (ReferenceProjectReferenceCompile など) を表す子要素を使用できます。

親要素

要素 説明
プロジェクト MSBuild プロジェクト ファイルの必須のルート要素です。
移行先 .NET Framework 3.5 以降、Target 要素の中に ItemGroup 要素を使用できるようになりました。 詳細については、ターゲット を参照してください。

次のコード例は、ItemGroup 要素の中で宣言されたユーザー定義の項目コレクション Res および CodeFiles を示しています。 Res 項目コレクション内のそれぞれの項目には、ユーザー定義の子要素 ItemMetadata が含まれています。

<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>

単純なプロジェクト ファイルでは、通常 1 つの ItemGroup 要素を使用しますが、複数の ItemGroup 要素を使用することもできます。 複数の ItemGroup 要素が使用されている場合、項目は 1 つの ItemGroup に結合されます。 たとえば、インポートされたファイルで定義されている個別の ItemGroup 要素によって、いくつかの項目が含められる場合があります。

ItemGroups には、Condition 属性を使用して条件を適用できます。 その場合、条件が満たされた場合にのみ項目が項目リストに追加されます。 「MSBuild の条件」を参照してください

Label 属性は、一部のビルド システムで、ビルド動作を制御する方法として使用されています。 これは、よりわかりやすい MSBuild スクリプトを作成する方法として、またはビルド アクションに影響を与えるコントロール設定として、宣言でのみ使用できます。

関連項目