Задача 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") |