CreateItem 任务

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

注意

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

属性

下表描述了 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")

另请参阅