CreateItem タスク

入力されたアイテムでアイテム コレクションを作成します。 あるリストから別のリストにアイテムをコピーできます。

注意

このタスクは推奨されていません。.NET Framework 3.5 以降では、アイテム グループを Target 要素内に配置できます。詳細については、「MSBuild 項目」を参照してください。

属性

CreateItem タスクのパラメーターの説明を次の表に示します。

パラメーター

Description

AdditionalMetadata

省略可能な String 型の配列パラメーターです。

出力アイテムに添付するメタデータを指定します。 アイテムに添付するメタデータの名前と値を、次の構文で指定します。

MetadataName=MetadataValue

メタデータの名前と値のペアを複数指定する場合には、セミコロン (;) で区切ります。 名前か値にセミコロンなどの特殊文字が含まれている場合、それらの文字にはエスケープ処理が必要です。 詳細については、「方法 : MSBuild で特殊文字をエスケープする」を参照してください。

Exclude

省略可能な ITaskItem[] 型の出力パラメーター。

出力するアイテム コレクションから除外するアイテムを指定します。 このパラメーターで指定するアイテムには、ワイルドカードを使用できます。 詳細については、「MSBuild 項目」および「方法: ビルドからファイルを除外する」を参照してください。

Include

必須の ITaskItem[] 型のパラメーターです。

出力するアイテム コレクションに含めるアイテムを指定します。 このパラメーターで指定するアイテムには、ワイルドカードを使用できます。

PreserveExistingMetadata

省略可能な Boolean 型のパラメーターです。

True の場合、メタデータがまだ存在しない場合にのみ追加のメタデータを適用します。

解説

上記のパラメーター以外に、このタスクは TaskExtension クラスからパラメーターを継承します。このクラス自体は、Task クラスから継承されます。 これらの追加のパラメーターの一覧とその説明については、「TaskExtension 基本クラス」を参照してください。

使用例

MySourceItems アイテム コレクションから、MySourceItemsWithMetadata という名前のアイテム コレクションを新規作成するコード例を次に示します。 CreateItem タスクで、MySourceItems アイテム内のアイテムを格納した新しいアイテム コレクションが作成されます。 次に、値に Hello を設定した MyMetadata という名前のメタデータ エントリを、新しいコレクションの各アイテムに追加します。

タスク実行後の 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 タスク リファレンス