Elemento Item (MSBuild)
Actualización: noviembre 2007
Contiene un elemento definido por el usuario y sus metadatos. Cada elemento utilizado en un proyecto MSBuild debe especificarse como elemento secundario de un elemento ItemGroup.
<Item Include="*.cs"
Exclude="MyFile.cs"
Condition="'String A'=='String B'" >
<ItemMetadata1>...</ItemMetadata1>
<ItemMetadata2>...</ItemMetadata2>
</Item>
Atributos y elementos
En las siguientes secciones se describen los atributos, elementos secundarios y elementos primarios.
Atributos
Atributo |
Descripción |
---|---|
Include |
Atributo necesario. El archivo o comodín que se incluirá en el elemento. |
Exclude |
Atributo opcional. El archivo o comodín que se excluirá del elemento. |
Condition |
Atributo opcional. Condición que se va a evaluar. Para obtener más información, vea Condiciones de MSBuild. |
Elementos secundarios
Elemento |
Descripción |
---|---|
Clave de metadatos de elemento definida por el usuario, que contiene el valor de metadatos del elemento. Puede haber cero o más elementos ItemMetadata en un elemento. |
Elementos primarios
Elemento |
Descripción |
---|---|
Elemento de agrupación para los elementos. |
Comentarios
Los elementos Item definen las entradas en el sistema de generación y se agrupan en colecciones de elementos basadas en sus nombres de colección definidos por el usuario. Estas colecciones de elementos se pueden utilizar como parámetros para tareas, que utilizan los elementos individuales contenidos en la colección para realizar los pasos del proceso de generación. Para obtener más información, vea Elementos de MSBuild.
El uso de la notación @(myType) permite que una colección de elementos de tipo myType se amplíe a una lista de cadenas delimitadas mediante punto y coma (;), y se pase al parámetro. Si el parámetro es de tipo string, el valor del parámetro es la lista de elementos separada por punto y coma. Si el parámetro es una matriz de cadenas (string[]), cada elemento se inserta en la matriz en función de la ubicación de los punto y coma. Si el parámetro de tarea es de tipo ITaskItem[], el valor es el contenido de la colección de elementos con los metadatos adjuntos. Para delimitar cada elemento con un carácter que no sea un punto y coma, utilice la sintaxis @(myType, 'separator').
El motor de MSBuild puede evaluar comodines como * y ? así como los comodines recursivos, tales como /**/*.cs. Para obtener más información, vea Elementos de MSBuild.
Ejemplo
El siguiente ejemplo de código muestra cómo declarar dos elementos de tipo CSFile. El segundo elemento declarado contiene metadatos con myAttribute establecido en HelloWorld.
<ItemGroup>
<CSFile Include="engine.cs; form.cs" />
<CSFile Include="main.cs" >
<MyMetadata>HelloWorld</MyMetadata>
</Item>
</ItemGroup>