Language

CreateItem タスク

項目コレクションに入力項目を設定します。 これにより、リスト間で項目をコピーできるようになります。

Note

このタスクは非推奨とされます。 .NET Framework 3.5 以降、項目グループは Target 要素内に配置できます。 詳細については、「MSBuild 項目」をご覧ください。

属性

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

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

出力項目にアタッチする追加のメタデータを指定します。 項目のメタデータの名前と値を次の構文で指定します。

MetadataName = MetadataValue

メタデータの名前と値のペアを複数指定する場合は、セミコロンで区切る必要があります。 名前または値にセミコロンまたは他の特殊文字が含まれる場合は、エスケープする必要があります。 詳細については、MSBuild で特殊文字をエスケープする」を参照してください。
Exclude 省略可能な ITaskItem[] 型の出力パラメーターです。

出力項目コレクションから除外する項目を指定します。 このパラメーターには、ワイルドカードの指定を含めることができます。 詳細については、「MSBuild 項目」および「方法: ビルドからファイルを除外する」をご覧ください。
Include 必須の ITaskItem[] パラメーター。

出力項目のコレクションに含める項目を指定します。 このパラメーターには、ワイルドカードの指定を含めることができます。
PreserveExistingMetadata 省略可能な Boolean 型のパラメーターです。

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

解説

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

例

次のコード例では、項目コレクション MySourceItems から、MySourceItemsWithMetadata という名前の新しい項目コレクションを作成します。 CreateItem タスクは、MySourceItems 項目コレクションの項目を新しい項目コレクションに設定します。 その後、名前が MyMetadata で値が Hello の追加メタデータ エントリを、新しいコレクションの各項目に追加します。

タスクを実行した後、MySourceItemsWithMetadata 項目コレクションには項目 file1.resx と file2.resx が含まれ、どちらにも MyMetadata のメタデータ エントリが追加されています。 MySourceItems 項目コレクションは変更されません。

<Project>

    <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")

関連項目