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. Fichier ou caractère générique à inclure dans la liste des éléments. |
Exclude |
Attribut facultatif. Fichier ou caractère générique à exclure de la liste des éléments. |
Condition |
Attribut facultatif. Condition à évaluer. Pour plus d'informations, consultez Conditions MSBuild. |
Remove |
Attribut facultatif. Fichier ou caractère générique à supprimer de la liste des éléments. Cet attribut n'est valide que s'il est spécifié pour un élément d'un ItemGroup présent dans un Target. |
KeepMetadata |
Attribut facultatif. Métadonnées des éléments sources à ajouter aux éléments cibles. Seules 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 depuis un élément source vers un élément cible. Pour plus d'informations, consultez Éléments MSBuild. Cet attribut n'est valide que s'il est spécifié pour un élément d'un ItemGroup présent dans un Target. |
RemoveMetadata |
Attribut facultatif. Métadonnées des éléments sources à ne pas transférer aux éléments cibles. Toutes les métadonnées sont transférées depuis un élément source vers un élément cible, à l'exception des métadonnées dont le nom figure dans la liste de noms délimitée par des points-virgules. Pour plus d'informations, consultez Éléments MSBuild. Cet attribut n'est valide que s'il est spécifié pour un élément d'un ItemGroup présent dans un Target. |
KeepDuplicates |
Attribut facultatif. Spécifie si un élément doit être ajouté au groupe cible s'il s'agit d'une copie exacte d'un élément existant. Si les éléments source et cible ont les mêmes valeurs Include mais des métadonnées différentes, l'élément est ajouté même si KeepDuplicates est défini sur false. Pour plus d'informations, consultez Éléments MSBuild. Cet attribut n'est valide que s'il est spécifié pour un élément d'un ItemGroup présent dans un Target. |
Éléments enfants
Élément |
Description |
---|---|
Clé de métadonnées d'élément définie par l'utilisateur, qui contient la valeur des métadonnées de l'élément. Un élément peut ne contenir aucun élément ItemMetadata ou en contenir plusieurs. |
Éléments parents
Élément |
Description |
---|---|
Élément de regroupement pour d'autres éléments. |
Notes
Les éléments Item définissent les entrées du système de génération et sont regroupés en collections d'éléments, selon leur nom de collection défini par l'utilisateur. Ces collections d'éléments peuvent être utilisées comme paramètres des tâches, lesquelles utilisent les éléments d'une collection pour exécuter les étapes du processus de génération. Pour plus d'informations, consultez Éléments MSBuild.
La notation @(monType) permet d'étendre une collection d'éléments de type monType en une liste de chaînes délimitées par des points-virgules, et de la passer à un paramètre. Si le paramètre est de type string, la valeur du paramètre correspond à 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 tâche est de type ITaskItem[], la valeur correspond au contenu de la collection d'éléments et à toutes les métadonnées associées. Pour délimiter chaque élément à l'aide d'un caractère autre que le point-virgule, utilisez la syntaxe @(monType, 'séparateur').
Le moteur MSBuild peut évaluer les caractères génériques tels que * et ?, ainsi que les 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 dans lesquelles MyMetadata a la valeur HelloWorld.
<ItemGroup>
<CSFile Include="engine.cs; form.cs" />
<CSFile Include="main.cs" >
<MyMetadata>HelloWorld</MyMetadata>
</CSFile>
</ItemGroup>