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" ) |