CreateItem 任务
使用输入项填充项集合。 这会使项从一个列表复制到另一个列表。
属性
下表描述了 CreateItem
任务的参数。
参数 | 说明 |
---|---|
AdditionalMetadata |
可选的 String 数组参数。指定要附加到输出项的其他元数据。 使用以下语法指定项的元数据名称和值: MetadataName = MetadataValue应该使用分号将多个元数据名称/值对隔开。 如果名称或值包含分号或其他任何特殊字符,则应对这些字符进行转义。 有关详细信息,请参阅如何:转义 MSBuild 中的特殊字符。 |
Exclude |
可选的 ITaskItem[] 输出参数。指定要从输出项集合中排除的项。 此参数可包含通配符规范。 有关详细信息,请参阅项和如何:从生成中排除文件。 |
Include |
必选 ITaskItem[] 参数。指定要包含在输出项集合中的项。 此参数可包含通配符规范。 |
PreserveExistingMetadata |
可选 Boolean 参数。如果为 True ,则仅应用其他元数据(如果尚不存在)。 |
备注
除上面列出的参数外,此任务还从 TaskExtension 类继承参数,后者自身继承自 Task 类。 有关这些其他参数的列表及其说明的信息,请参阅 TaskExtension 基类。
示例
以下代码示例会从项集合 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" ) |