Item, élément (MSBuild)
Contient un élément défini par l'utilisateur et ses métadonnées.Chaque élément utilisé dans un projet MSBuild doit être spécifié en tant qu'enfant d'un élément ItemGroup.
<Item Include="*.cs"
Exclude="MyFile.cs"
Remove="RemoveFile.cs"
Condition="'String A'=='String B'" >
<ItemMetadata1>...</ItemMetadata1>
<ItemMetadata2>...</ItemMetadata2>
</Item>
Attributs et éléments
Les sections suivantes décrivent des attributs, des éléments enfants et des éléments parents.
Attributs
Attribut |
Description |
---|---|
Include |
Attribut requis. Le fichier ou le caractère générique à inclure dans la liste d'éléments. |
Exclude |
Attribut facultatif. Le fichier ou le caractère générique à exclure de la liste d'éléments. |
Condition |
Attribut facultatif. Condition à évaluer.Pour plus d’informations, consultez Conditions MSBuild. |
Remove |
Attribut facultatif. Le fichier ou le caractère générique à supprimer de la liste d'éléments. Cet attribut est valide uniquement s'il est spécifié pour un élément dans ItemGroup qui est dans Target. |
KeepMetadata |
Attribut facultatif. Les métadonnées pour les éléments sources ajoutez des éléments cibles.Seuls les métadonnées dont les noms sont spécifiés dans la liste délimitée par des points-virgules sont transférées d'un élément source à un élément cible.Pour plus d’informations, consultez Éléments MSBuild. Cet attribut est valide uniquement s'il est spécifié pour un élément dans ItemGroup qui est dans Target. |
RemoveMetadata |
Attribut facultatif. Les métadonnées pour les éléments sources ne transfèrent pas aux éléments cibles.Toutes les métadonnées sont transférées d'un élément source à un élément cible exception de les métadonnées dont les noms sont contenus dans la liste délimitée par des points-virgules des noms.Pour plus d’informations, consultez Éléments MSBuild. Cet attribut est valide uniquement s'il est spécifié pour un élément dans ItemGroup qui est dans Target. |
KeepDuplicates |
Attribut facultatif. Spécifie si un élément doit être ajouté au groupe cible s'il s'agit d'un doublon exact d'un élément existant.Si l'élément de source et cible ont la même valeur d' Include mais des métadonnées, l'élément est ajouté même si KeepDuplicates a la valeur false.Pour plus d’informations, consultez Éléments MSBuild. Cet attribut est valide uniquement s'il est spécifié pour un élément dans ItemGroup qui est dans Target. |
Éléments enfants
Élément |
Description |
---|---|
Clé des métadonnées de l'élément définie par l'utilisateur et contenant la valeur des métadonnées de l'élément.Un élément peut contenir zéro, un ou plusieurs éléments ItemMetadata. |
Éléments parents
Élément |
Description |
---|---|
Élément qui regroupe les éléments. |
Notes
Les éléments Item définissent des entrées dans le système de génération et sont regroupés en collections d'éléments sur la base de leurs noms de collections définis par l'utilisateur.Ces collections d'éléments peuvent être utilisées comme paramètres des éléments Task qui utilisent les éléments individuels des collections pour exécuter les étapes du processus de génération.Pour plus d’informations, consultez Éléments MSBuild.
L'utilisation de la notation @(myType) permet à une collection d'éléments de type myType d'être développée en liste de chaînes délimitées par des points-virgules (;) et passée à un paramètre.Si le paramètre est de type string, la valeur du paramètre est, dans ce cas, la liste des éléments séparés par des points-virgules.Si le paramètre est un tableau de chaînes (string[]), chaque élément est inséré dans le tableau selon l'emplacement des points-virgules.Si le paramètre de la tâche est de type ITaskItem[], la valeur représente le contenu de la collection d'éléments avec toutes les métadonnées associées.Pour délimiter chaque élément avec un autre caractère que le point-virgule, utilisez la syntaxe @(myType, 'séparateur').
Le moteur MSBuild peut évaluer les caractères génériques tels que * et ?, ainsi que des caractères génériques récursifs comme /**/*.cs.Pour plus d’informations, consultez Éléments MSBuild.
Exemple
L'exemple de code suivant montre comment déclarer deux éléments de type CSFile.Le second élément déclaré contient les métadonnées avec la valeur HelloWorld affectée à myAttribute.
<ItemGroup>
<CSFile Include="engine.cs; form.cs" />
<CSFile Include="main.cs" >
<MyMetadata>HelloWorld</MyMetadata>
</CSFile>
</ItemGroup>