Share via


CreateItem タスク

更新 : 2007 年 11 月

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

属性

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

パラメータ

説明

AdditionalMetadata

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

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

MetadataName=MetadataValue

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

Exclude

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

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

Include

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

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

使用例

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

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