次の方法で共有


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.resxfile2.resx が含まれ、どちらにも MyMetadata のメタデータ エントリが追加されています。 MySourceItems 項目コレクションは変更されません。

<Project xmlns="http://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")

関連項目