Задача CreateItem

Обновлен: Ноябрь 2007

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

Атрибуты

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

Параметр

Описание

AdditionalMetadata

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

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

MetadataName=MetadataValue

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

Exclude

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

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

Include

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

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

Пример

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

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

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

    <ItemGroup>
        <MySourceItems Include="file1.resx;file3.resx">
            <MyAddMetadata>true</MyAddMetadata>
        </MySourceItems>
        <MySourceItems Include="file2.resx">
            <MyAddMetadata>false</MyAddMetadata>
        </MySourceItems>
    </ItemGroup>

    <PropertyGroup>
        <MyValue>Hello</MyValue>
    </PropertyGroup>

    <Target Name="NewItems">

        <CreateItem
            Include="@(MySourceItems)"
            Condition="'%(MyAddMetadata)'=='true'"
            AdditionalMetadata="MyMetadata=$(MyValue)">

           <Output
               TaskParameter="Include"
               ItemName="MySourceItemsWithMetadata"/>
        </CreateItem>

    </Target>

</Project>

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

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

Содержание

MySourceItemsWithMetadata

file1.resx (MyMetadata="Hello")

file3.resx (MyMetadata="Hello")

См. также

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

Задачи MSBuild

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

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