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


Задача CreateItem

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

ПримечаниеПримечание

Эта задача является устаревшей.Начиная с .NET Framework версии 3.5, группы элементов можно размещать внутри элементов Target.Дополнительные сведения см. в разделе Элементы MSBuild.

Атрибуты

В следующей таблице описаны параметры задачи CreateItem.

Параметр

Описание

AdditionalMetadata

Необязательный параметр-массив String.

Дополнительные спецификации метаданных, добавляемых к выходным элементам.Для имени и значения метаданных выбранного элемента используется следующий синтаксис:

ИмяМетаданных=ЗначениеМетаданных

Несколько пар имен и значений метаданных разделяются точкой с запятой.Если в имени или значении содержится символ "точка с запятой" или другие специальные знаки, то их необходимо заменять на escape-знаки.Дополнительные сведения см. в разделе Как обеспечить пропуск специальных знаков в MSBuild.

Exclude

Необязательный выходной параметр типа ITaskItem[].

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

Include

Обязательный параметр ITaskItem[].

Элементы, включаемые в выходную коллекцию.В этом параметре могут содержаться спецификации подстановочных знаков.

PreserveExistingMetadata

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

Если True, применяются только дополнительные метаданные, если они не существовали до этого.

Заметки

Помимо параметров, которые перечислены выше, эта задача наследует параметры от класса TaskExtension, который наследует от класса Task.Чтобы получить список этих доп параметров и их описаний, см. Базовый класс TaskExtension.

Пример

В приведенном ниже примере кода показано, как создать новую коллекцию элементов с именем MySourceItemsWithMetadata из коллекции элементов MySourceItems.Задача CreateItem заполняет новую коллекцию элементов содержимым элемента MySourceItems.Затем эта задача добавляет дополнительную запись метаданных MyMetadata со значением Hello в каждый элемент нового набора.

После выполнения задачи коллекция элементов MySourceItemsWithMetadata содержит элементы file1.resx и file2.resx с записями метаданных для MyMetadata.Коллекция элементов MySourceItems остается без изменений.

<Project xmlns="https://schemas.microsoft.com/developer/msbuild/2003">

    <ItemGroup>
        <MySourceItems Include="file1.resx;file2.resx" />
    </ItemGroup>

    <Target Name="NewItems">
        <CreateItem
            Include="@(MySourceItems)"
            AdditionalMetadata="MyMetadata=Hello">
           <Output
               TaskParameter="Include"
               ItemName="MySourceItemsWithMetadata"/>
        </CreateItem>

    </Target>

</Project>

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

Коллекция элементов

Содержимое

MySourceItemsWithMetadata

file1.resx (MyMetadata="Hello")

file2.resx (MyMetadata="Hello")

См. также

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

Задачи MSBuild

Другие ресурсы

Справочные сведения о задачах MSBuild