Item 元素 (MSBuild)

更新:2007 年 11 月

包含用户定义的项及其元数据。必须将 MSBuild 项目中使用的每个项都指定为 ItemGroup 元素的子元素。

<Item Include="*.cs"
        Exclude="MyFile.cs"
        Condition="'String A'=='String B'" >
    <ItemMetadata1>...</ItemMetadata1>
    <ItemMetadata2>...</ItemMetadata2>
</Item>

属性和元素

以下几节描述了属性、子元素和父元素。

属性

属性

说明

Include

必需。

要包含在项中的文件或通配符。

Exclude

可选。

要从项中排除的文件或通配符。

Condition

可选。

要计算的条件。有关更多信息,请参见 MSBuild 条件

子元素

元素

说明

ItemMetadata

包含用户定义的项元数据项,该项元数据项包含项元数据值。一个项中可能有零个或零个以上的 ItemMetadata 元素。

父元素

元素

说明

ItemGroup

项的分组元素。

备注

Item 元素定义生成系统的输入,并根据其用户定义的集合名称,分组到项集合中。这些项集合可以用作任务的参数,任务使用集合中包含的各个项来执行生成过程的步骤。有关更多信息,请参见 MSBuild 项

使用 @(myType) 表示法,可以将 myType 类型的项集合展开成以分号 (;) 分隔的字符串列表,并将其传递给参数。如果参数的类型为 string,则参数的值是以分号分隔的元素列表。如果参数是字符串数组 (string[]),将根据分号的位置将每个元素插入到数组中。如果任务参数的类型为 ITaskItem[],则值是附加了任意元数据的项集合内容。若要使用除分号以外的其他字符来分隔每个项,请使用语法 @(myType, 'separator')。

MSBuild 引擎能够计算诸如 * 和 ? 的通配符以及诸如 /**/*.cs 的递归通配符。有关更多信息,请参见 MSBuild 项

示例

下面的代码示例演示如何声明类型为 CSFile 的两个项。第二个声明的项包含 myAttribute 设置为 HelloWorld 的元数据。

<ItemGroup>
    <CSFile Include="engine.cs; form.cs" />
    <CSFile Include="main.cs" >
        <MyMetadata>HelloWorld</MyMetadata>
    </Item>
</ItemGroup>

请参见

概念

MSBuild 项

MSBuild 属性

MSBuild 项目文件架构引用