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