Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Cette section présente une terminologie MSBuild de base pour les développeurs WDK, qui connaissent Build.exe et NMake.exe. Cette section montre la construction de projets MSBuild simples.
Concepts Nmake pertinents pour MSBuild
Si vous avez travaillé avec Build.exe et les versions précédentes de wdK (avant WDK 8), vous êtes probablement familiarisé avec la terminologie et les concepts utilisés NMake.exe.
- command : appelle un outil en ligne de commande.
- cible : décrit une séquence nommée de commandes.
- dépendance : décrit une cible qui dépend d’autres cibles.
- Nmake est appelé sur un fichier make avec une ou plusieurs cibles spécifiées. Elle exécute ensuite toutes les dépendances de manière récursive, puis les commandes de la cible.
- Les fichiers Nmake peuvent inclure d’autres fichiers make pour la gestion robuste de la structure de build.
- Nmake prend également en charge la création de variables nommées qui seront remplacées par des paramètres de commandes.
- Nmake prend également en charge les variables automatiques affectées par le Make.exe lui-même, par exemple le nom du répertoire actif ou du chemin d’accès.
- Une cible ne s’exécutera jamais deux fois pendant une seule build. Une fois l’exécution effectuée, une cible est supposée avoir terminé son travail et ne s’exécutera plus, même si une cible ultérieure dans la build dépend de celle-ci.
Concepts de MSBuild
L’extension de fichier MSBuild principale pour les projets C++ est .vcxproj.
Les commandes sont désormais appelées tâches et ne sont pas simplement des appels de processus de ligne de commande. Au lieu de cela, les tâches sont des unités de code exécutable que MSBuild peut utiliser pour effectuer des opérations de génération atomiques. Pour obtenir la liste complète des tâches, consultez MsBuild Tasks Specific to Visual C++.
MSBuild importe les tâches à partir de leurs assemblys CLR (Common Language Runtime) avec l’élément UsingTask , comme l’illustre l’exemple suivant.
<UsingTask TaskName="TaskName" AssemblyName="AssemblyName" />Cible les tâches de groupe dans un ordre particulier et permet de diviser le processus de génération en unités plus petites.
Un PropertyGroup permet de définir des propriétés à l’aide d’un format convivial. L’exemple suivant montre le format PropertyGroup .
<PropertyGroup> <ProductVersion>9.0.30729</ProductVersion> </PropertyGroup>Un élément est une variante orientée objet de Property. Alors que le format de propriété est nom/valeur, le format d’élément est nom/objet où l’objet a plusieurs attributs. Les éléments sont des tableaux d’objets.
Les propriétés sont référencées au format $(project) tandis que les éléments sont référencés avec le format @(name).
Un ItemGroup est une collection d’éléments.
Un ItemGroups est généralement une liste de tous les fichiers à compiler. La collection de fichiers est ensuite passée à une tâche à l’aide de la notation @(itemname). Pour plus d’informations sur l’utilisation des éléments, consultez MSBuild Items.
MSBuild a un certain nombre de propriétés intégrées que vous pouvez également référencer dans un fichier projet.
Pour plus d’informations sur msBuild et les tâches de génération, consultez la référence MSBuild Concepts et MSBuild.