次の方法で共有


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