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 プロジェクト項目に記載されている項目の種類 (Reference
、ProjectReference
、Compile
など) を表す子要素を使用できます。
親要素
要素 | 説明 |
---|---|
プロジェクト | 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 スクリプトを作成する方法として、またはビルド アクションに影響を与えるコントロール設定として、宣言でのみ使用できます。