Поделиться через


Элемент Item (MSBuild)

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

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

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

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

Атрибуты

Атрибут

Описание

Include

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

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

Exclude

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

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

Condition

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

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

Remove

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

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

Этот атрибут допустим только в том случае, если он, определенные для элемента в ItemGroup, в Target.

KeepMetadata

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

Метаданные для элемента источников, добавляемый к элементам целевого объекта.Только метаданные, имена которых указаны в списке списка разделяются точками с запятой Переключены из элемента источника к элементу целевого объекта.Дополнительные сведения см. в разделе Элементы MSBuild.

Этот атрибут допустим только в том случае, если он, определенные для элемента в ItemGroup, в Target.

RemoveMetadata

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

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

Этот атрибут допустим только в том случае, если он, определенные для элемента в ItemGroup, в Target.

KeepDuplicates

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

Определяет, должен ли элемент быть добавлены к целевой группе, если это явный дубликат существующего элемента.Если элемент источника и целевого объекта имеет одно и то же значение Include, но разные метаданные, то элемент добавляется, даже если KeepDuplicates установлено в false.Дополнительные сведения см. в разделе Элементы MSBuild.

Этот атрибут допустим только в том случае, если он, определенные для элемента в ItemGroup, в Target.

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

Элемент

Описание

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>
    </CSFile>
</ItemGroup>

См. также

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

Элементы MSBuild

Свойства MSBuild

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