Элемент Item (MSBuild)

Обновлен: Ноябрь 2007

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

<Item Include="*.cs"
        Exclude="MyFile.cs"
        Condition="'String A'=='String B'" >
    <ItemMetadata1>...</ItemMetadata1>
    <ItemMetadata2>...</ItemMetadata2>
</Item>

Атрибуты и элементы

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

Атрибуты

Атрибут

Описание

Include

Обязательный атрибут.

Файл или подстановочный знак, подлежащий включению в элемент.

Exclude

Необязательный атрибут.

Файл или подстановочный знак, подлежащий исключению из элемента.

Condition

Необязательный атрибут.

Проверяемое условие. Дополнительные сведения см. в разделе Условия MSBuild.

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

Элемент

Описание

ItemMetadata

Определяемый пользователем ключ метаданных элемента, содержащий значение метаданных элемента. Элемент ItemMetadata может содержать любое число элементов, включая ноль.

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

Элемент

Описание

ItemGroup

Элемент, предназначенный для группировки отдельных элементов.

Заметки

Элементы Item определяют входные данные для системы построения и группируются в коллекции элементов на основании заданных пользователем имен коллекций. Эти коллекции элементов можно использовать в качестве параметров для задач, в которых с помощью отдельных элементов из коллекции выполняются отдельные шаги процесса построения. Дополнительные сведения см. в разделе Элементы MSBuild.

Использование нотации @(myType) позволяет расширить коллекцию элементов типа myType до списка строк, разделенного точкой с запятой (;), и передать его в параметр. Если параметр имеет тип string, то его значением является список элементов, разделенных точкой с запятой. Если параметр представляет собой массив строк (string[]), каждый из элементов вставляется в массив исходя из положения точек с запятой. Если параметр задачи имеет тип ITaskItem[], то его значением является содержимое коллекции элементов со вложенными в них метаданными, если таковые имеются. Чтобы разделять элементы при помощи символа, отличного от точки с запятой, используйте синтаксис @(myType, 'separator').

Ядро MSBuild предусматривает вычисление подстановочных знаков * и ?, а также рекурсивных подстановочных знаков, таких как /**/*.cs. Дополнительные сведения см. в разделе Элементы MSBuild.

Пример

В следующем примере кода показано, как объявить два элемента типа CSFile. Второй объявляемый элемент содержит метаданные с атрибутом myAttribute, которому присвоено значение HelloWorld.

<ItemGroup>
    <CSFile Include="engine.cs; form.cs" />
    <CSFile Include="main.cs" >
        <MyMetadata>HelloWorld</MyMetadata>
    </Item>
</ItemGroup>

См. также

Основные понятия

Элементы MSBuild

Свойства MSBuild

Справочные сведения о схеме файлов проектов MSBuild