Элемент ItemGroup (MSBuild)

Содержит набор определенных пользователем элементов Item. Каждый элемент, используемый в проекте MSBuild, должен быть указан как дочерний для элемента ItemGroup.

<Project><ItemGroup>

Синтаксис

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

Элементы и атрибуты

В следующих разделах описаны атрибуты, дочерние и родительские элементы.

Атрибуты

Атрибут Description
Condition Необязательный атрибут элемента . Проверяемое условие. Дополнительные сведения см. в разделе Условия.
Label Необязательный атрибут элемента . Идентифицирует ItemGroup.

Дочерние элементы

Элемент Description
Позиция Входные данные для процесса сборки. Любое количество элементов Item (может быть ни одного) может содержаться в ItemGroup.

Помимо универсального элемента Item, ItemGroup позволяет использовать дочерние элементы, представляющие типы, например Reference, ProjectReference, Compile и другие, перечисленные в Общих элементах проектов MSBuild.

Родительские элементы

Элемент Description
Проект Обязательный корневой элемент файла проекта MSBuild.
Целевой объект Начиная с версии .NET Framework 3.5, элемент ItemGroup может находиться внутри элемента Target. Дополнительные сведения см. в разделе Целевые объекты.

Пример

В следующем примере кода показаны определяемые пользователем элементы коллекций Res и CodeFiles, объявленные внутри элемента ItemGroup. Каждый элемент в коллекции 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>

В файле простого проекта обычно присутствует один элемент ItemGroup, однако при необходимости можно использовать несколько элементов ItemGroup. Если используется несколько элементов ItemGroup, они объединяются в один элемент ItemGroup. Например, некоторые элементы могут быть включены с использованием отдельного элемента ItemGroup, который определяется в импортируемом файле.

Для элементов ItemGroup могут применяться условия с помощью атрибута Condition. В этом случае элементы добавляются в список элементов только при соблюдении условия. См. Условия MSBuild.

Атрибут Label используется в некоторых системах сборки для управления поведением сборки. Его можно использовать только в объявлениях для создания более понятных скриптов MSBuild или как параметр элемента управления действиями сборки.

См. также