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


CreateItem - задача

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

Примечание.

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

Атрибуты

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

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

Указывает дополнительные метаданные для присоединения к выходным элементам. Имена и значения метаданных для элемента можно указать с помощью следующего синтаксиса:

MetadataName = MetadataValue

Пары имен и значений для метаданных следует разделять точкой с запятой. Если имя или значение содержит точку с запятой или другие специальные символы, их необходимо экранировать. Дополнительные сведения см. в статье Практическое руководство. Пропуск специальных символов в MSBuild.
Exclude Необязательный выходной параметр ITaskItem[] .

Указывает элементы, исключаемые из коллекции выходных элементов. Спецификации в этом параметре могут содержать подстановочные знаки. Дополнительные сведения см. в статьях Элементы и Практическое руководство. Исключение файлов из сборки.
Include Обязательный параметр ITaskItem[].

Указывает элементы, включаемые в коллекцию выходных элементов. Спецификации в этом параметре могут содержать подстановочные знаки.
PreserveExistingMetadata Необязательный параметр Boolean.

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

Замечания

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

Пример

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

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

<Project xmlns="http://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")

См. также