Élément Project (MSBuild)

Élément racine obligatoire d’un fichier projet MSBuild.

Syntaxe

<Project InitialTargets="TargetA;TargetB"
         DefaultTargets="TargetC;TargetD"
         TreatAsLocalProperty="PropertyA;PropertyB"
         ToolsVersion="<version number>"
         Sdk="name[/version]"
         xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
    <Sdk... />
    <Choose>... </Choose>
    <PropertyGroup>... </PropertyGroup>
    <ItemGroup>... </ItemGroup>
    <Target>... </Target>
    <UsingTask.../>
    <ProjectExtensions>... </ProjectExtensions>
    <Import... />
</Project>

Attributs et éléments

Les sections suivantes décrivent des attributs, des éléments enfants et des éléments parents.

Attributs

Attribut Description
DefaultTargets Attribut facultatif.

Cible ou cibles par défaut définies comme point d’entrée de la génération si aucune cible n’a été spécifiée. Plusieurs cibles sont séparées par un point-virgule (;).

Si aucune cible par défaut n’est spécifiée dans l’attribut DefaultTargets ou la ligne de commande MSBuild, le moteur exécute la première cible dans le fichier projet après l’évaluation des éléments Import.
InitialTargets Attribut facultatif.

Cible ou cibles initiales à exécuter avant les cibles spécifiées dans l’attribut DefaultTargets ou sur la ligne de commande. Plusieurs cibles sont séparées par un point-virgule (;). Si plusieurs fichiers importés définissent InitialTargets, toutes les cibles indiquées seront exécutées, dans l’ordre où elles sont trouvées.
Sdk Attribut facultatif.

Le nom et la version facultative du kit SDK à utiliser pour créer des instructions d’importation implicites qui sont ajoutées au fichier .proj. Si aucune version n’est spécifiée, MSBuild tente de résoudre une version par défaut. Par exemple, <Project Sdk="Microsoft.NET.Sdk" /> ou <Project Sdk="My.Custom.Sdk/1.0.0" />.
ToolsVersion Attribut facultatif.

Version de l’ensemble d’outils utilisée par MSBuild pour déterminer les valeurs de $(MSBuildBinPath) et de $(MSBuildToolsPath).
TreatAsLocalProperty Attribut facultatif.

Noms des propriétés qui ne sont pas considérées comme étant globales. Cet attribut empêche des propriétés de ligne de commande particulières de remplacer les valeurs de propriété définies dans un fichier projet ou de cibles et dans toutes les importations ultérieures. Plusieurs propriétés sont séparées par un point-virgule (;).

Normalement, les propriétés globales remplacent les valeurs de propriété qui sont définies dans le fichier projet ou de cible. Si la propriété est indiquée dans la valeur TreatAsLocalProperty, la valeur de propriété globale ne remplace pas les valeurs de propriété qui sont définies dans ce fichier et dans toutes les importations ultérieures. Pour plus d’informations, voir Guide pratique : Générer les mêmes fichiers sources avec des options différentes. Remarque : vous définissez les propriétés générales avec une invite de commande à l’aide du commutateur -property (ou -p). Vous pouvez également définir ou modifier des propriétés globales pour des projets enfants d’une génération multiprojet à l’aide de l’attribut Properties de la tâche MSBuild. Pour plus d’informations, consultez l’article Tâche MSBuild.
xmlns Attribut facultatif.

Quand il est spécifié, l’attribut xmlns doit avoir la valeur http://schemas.microsoft.com/developer/msbuild/2003.

Éléments enfants

Élément Description
Choose Élément facultatif.

Évalue des éléments enfants pour sélectionner un ensemble d’éléments ItemGroup et/ou d’éléments PropertyGroup à évaluer.
Importer Élément facultatif.

Permet à un fichier projet d’importer un autre fichier projet. Un projet peut ne contenir aucun élément Import ou en contenir plusieurs.
ImportGroup Élément facultatif.

Contient une collection d’éléments Import regroupés sous une condition facultative.
ItemGroup Élément facultatif.

Élément grouping d’éléments individuels. Les éléments sont spécifiés à l’aide de l’élément Item. Un projet peut ne contenir aucun élément ItemGroup ou en contenir plusieurs.
ItemDefinitionGroup Élément facultatif.

Permet de définir un ensemble de définitions d’élément, correspondant à des valeurs de métadonnées appliquées par défaut à tous les éléments du projet. ItemDefinitionGroup évite d’avoir à utiliser les tâches CreateItem et CreateProperty.
ProjectExtensions Élément facultatif.

Fournit un moyen de conserver des informations non-MSBuild dans un fichier projet MSBuild. Un projet peut ne contenir aucun élément ProjectExtensions ou en contenir un.
PropertyGroup Élément facultatif.

Élément grouping de propriétés individuelles. Les propriétés sont spécifiées à l’aide de l’élément Property. Un projet peut ne contenir aucun élément PropertyGroup ou en contenir plusieurs.
Sdk Élément facultatif.

Fait référence à un SDK de projet MSBuild. Cet élément peut être utilisé comme alternative à l’attribut Sdk.
Cible Élément facultatif.

Contient un ensemble de tâches que MSBuild doit exécuter séquentiellement. Les tâches sont spécifiées à l’aide de l’élément Task. Un projet peut ne contenir aucun élément Target ou en contenir plusieurs.
UsingTask Élément facultatif.

Permet d’inscrire des tâches dans MSBuild. Un projet peut ne contenir aucun élément UsingTask ou en contenir plusieurs.

Éléments parents

Aucun.

Voir aussi