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 任务参考