Métadonnées d’éléments connus MSBuild

Les métadonnées d’élément sont des valeurs attachées aux éléments. Certaines sont attribuées par MSBuild aux éléments lors de la création d’éléments, mais vous pouvez également définir les métadonnées dont vous avez besoin. Certaines valeurs de métadonnées définies par l’utilisateur ont une signification pour MSBuild, des tâches spécifiques ou des kits SDK tels que le Kit de développement logiciel (SDK) .NET.

Le premier tableau de cet article décrit les métadonnées assignées à chaque élément lors de sa création. Le tableau suivant présente certaines métadonnées facultatives qui ont une signification pour MSBuild, que vous pouvez définir pour contrôler le comportement de build. Dans chaque exemple, la déclaration d’élément suivante a été utilisée pour inclure le fichier C:\MyProject\Source\Program.cs dans le projet.

<ItemGroup>
    <MyItem Include="Source\Program.cs" />
</ItemGroup>
Métadonnées d’élément Description
%(FullPath) Contient le chemin complet de l’élément. Par exemple :

C:\MyProject\Source\Program.cs
%(RootDir) Contient le répertoire racine de l’élément. Par exemple :

C:\
%(Filename) Contient le nom de fichier de l’élément, sans l’extension. Par exemple :

Programme
%(Extension) Contient l’extension de nom de fichier de l’élément. Par exemple :

.cs
%(RelativeDir) Contient le chemin spécifié dans l’attribut Include, jusqu’à la dernière barre oblique inverse (\). Par exemple :

Source\

Si l’attribut Include est un chemin d’accès complet, %(RelativeDir) commence par le répertoire racine %(RootDir). Par exemple :

C:\MyProject\Source\
%(Directory) Contient le répertoire de l’élément, sans le répertoire racine. Par exemple :

MyProject\Source\
%(RecursiveDir) Si l’attribut Include contient le caractère générique **, ces métadonnées spécifient la partie du chemin qui remplace le caractère générique. Pour plus d’informations, voir Guide pratique : Sélectionner les fichiers pour la build.

Si le dossier C:\MySolution\MyProject\Source\ contient le fichier Program.cs, et si le fichier projet contient cet élément :

<ItemGroup>

<MyItem Include="C:\**\Program.cs" />

</ItemGroup>

la valeur de %(MyItem.RecursiveDir) est alors MySolution\MyProject\Source\.
%(Identity) Élément spécifié dans l’attribut Include. Par exemple :

Source\Program.cs
%(ModifiedTime) Contient l’horodatage de la dernière modification de l’élément. Par exemple :

2004-07-01 00:21:31.5073316
%(CreatedTime) Contient l’horodatage de création de l’élément. Par exemple :

2004-06-25 09:26:45.8237425
%(AccessedTime) Contient l’horodatage du dernier accès à l’élément.

2004-08-14 16:52:36.3168743
%(DefiningProjectFullPath) Contient le chemin complet du fichier projet (ou fichier importé) qui définit cet élément.
%(DefiningProjectDirectory) Contient le répertoire du projet du fichier projet (ou fichier importé) qui définit cet élément.
%(DefiningProjectName) Contient le nom du fichier projet (ou fichier importé) qui définit cet élément (sans l’extension).
%(DefiningProjectExtension) Contient l’extension du fichier projet (ou fichier importé) qui définit cet élément.

Voir aussi