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