CreateItem 任务

使用输入项填充项集合。 这可以将项从一个列表复制到另一个列表。

备注

此任务已弃用。从 .NET Framework 3.5 开始,项目组可以放置在目标元素内。有关更多信息,请参见 MSBuild 项

特性

下表描述了 CreateItem 任务的参数。

Parameter

说明

AdditionalMetadata

可选 String 数组参数。

指定要附加到输出项的其他元数据。 按照下面的语法为该项指定元数据名称和值:

元数据名称=元数据值

多个元数据名称/值对之间应使用分号分隔。 如果名称或值包含分号或其他任何特殊字符,必须对其进行转义。 有关更多信息,请参见 如何:转义 MSBuild 中的特殊字符

Exclude

可选 ITaskItem[] 输出参数。

指定要从输出项集合中排除的项。 此参数可以包含通配符规范。 有关更多信息,请参见MSBuild 项如何:将文件排除在生成过程外

Include

必选的 ITaskItem[] 参数。

指定要包含在输出项集合中的项。 此参数可以包含通配符规范。

PreserveExistingMetadata

可选 Boolean 参数。

如果为 True,则仅应用附加元数据(如果它们尚不存在)。

备注

除了上面列出的参数,此任务还将从 TaskExtension 类继承参数,此类本身从 Task 类继承。 有关这些附加参数及其说明的列表,请参见 TaskExtension 基类

示例

下面的代码示例基于项集合 MySourceItems 新建一个名为 MySourceItemsWithMetadata 的项集合。 CreateItem 任务使用 MySourceItems 项目中的项目填充新项目集。 然后,它会向新集合中的每个项再添加一个名为 MyMetadata、值为 Hello 的元数据项。

该任务执行后,MySourceItemsWithMetadata 项集合将包含 file1.resx 和 file2.resx 项,这两项均具有与 MyMetadata 对应的元数据项。 MySourceItems 项集合保持不变。

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

请参见

概念

MSBuild 任务

其他资源

MSBuild 任务参考