Partage via


Éléments de projet MSBuild courants

Dans MSBuild, un élément est une référence nommée à un ou plusieurs fichiers. Les éléments contiennent des métadonnées telles que les noms de fichiers, les chemins d’accès et les numéros de version. Tous les types de projet dans Visual Studio ont plusieurs éléments en commun. Ces éléments sont définis dans le fichier Microsoft.Build.CommonTypes.xsd.

Cet article répertorie tous les éléments de projet courants.

Reference

Représente une référence d’assembly (managé) dans le projet.

Nom des métadonnées d’élément Description
HintPath Chaîne facultative. Chemin d’accès relatif ou absolu de l’assembly.
Nom Chaîne facultative. Nom complet de l’assembly, par exemple « System.Windows.Forms ».
FusionName Chaîne facultative. Spécifie le nom de fusion simple ou fort de l’élément.

Lorsque cet attribut est présent, il peut gagner du temps, car le fichier d’assembly n’a pas besoin d’être ouvert pour obtenir le nom de fusion.
SpecificVersion Boolean facultatif. Spécifie si seule la version du nom de fusion doit être référencée.
Alias Chaîne facultative. Tous les alias de la référence.
Privé Boolean facultatif. Spécifie si la référence doit être copiée dans le dossier de sortie. Cet attribut correspond à la propriété Copy Local de la référence qui se trouve dans l’IDE Visual Studio.

COMReference

Représente une référence de composant COM (non managé) dans le projet. Cet élément s’applique uniquement aux projets .NET.

Nom des métadonnées d’élément Description
Nom Chaîne facultative. Nom complet du composant.
Guid Chaîne requise. GUID du composant, sous la forme {12345678-1234-1234-1234-123456781234}.
VersionMajor Chaîne requise. Partie principale du numéro de version du composant. Par exemple, « 5 » si le numéro de version complet est « 5.46 ».
VersionMinor Chaîne requise. Partie mineure du numéro de version du composant. Par exemple, « 46 » si le numéro de version complet est « 5.46 ».
EmbedInteropTypes Boolean facultatif. Si la valeur est true, incorporez les types d’interopérabilité de cette référence directement dans votre assembly plutôt que de générer une DLL d’interopérabilité.
Lcid Chaîne facultative. LocaleID du composant.
WrapperTool Chaîne facultative. Nom de l’outil wrapper utilisé sur le composant. Les valeurs sont les suivantes :

1. principal
2. tlbimp
3. primaryortlbimp
4. aximp
Isolé Boolean facultatif. Spécifie si le composant est un composant libre d’inscription.

COMFileReference

Représente une liste de bibliothèques de types passées au paramètre TypeLibFiles de la cible ResolveComReference cible. Cet élément s’applique uniquement aux projets .NET.

Nom des métadonnées d’élément Description
WrapperTool Chaîne facultative. Nom de l’outil wrapper utilisé sur le composant. Les valeurs sont les suivantes :

1. principal
2. tlbimp
3. primaryortlbimp
4. aximp

NativeReference

Représente un fichier manifeste natif ou une référence à ce fichier.

Nom des métadonnées d’élément Description
Nom Chaîne requise. Nom de base du fichier manifeste.
HintPath Chaîne requise. Chemin d’accès relatif du fichier manifeste.

ProjectReference

Représente une référence à un autre projet. ProjectReference éléments sont transformés en référence éléments par la cible ResolveProjectReferences, de sorte que les métadonnées valides d’une référence peuvent être valides sur ProjectReference, si le processus de transformation ne le remplace pas.

Nom des métadonnées d’élément Description
Nom Chaîne facultative. Nom complet de la référence.
GlobalPropertiesToRemove string[]facultatif . Noms des propriétés à supprimer lors de la génération du projet référencé, par exemple RuntimeIdentifier;PackOnBuild. La valeur par défaut est vide.
Projet Chaîne facultative. GUID de la référence, sous la forme {12345678-1234-1234-1234-123456781234}.
OutputItemType Chaîne facultative. Type d’élément dans lequel émettre des sorties cibles. La valeur par défaut est vide. Si les métadonnées de référence sont définies sur « true » (valeur par défaut), les sorties cibles deviennent des références pour le compilateur.
ReferenceOutputAssembly Boolean facultatif. S’il est défini sur false, n’inclut pas la sortie du projet référencé en tant que Référence de ce projet, mais garantit toujours que l’autre projet est généré avant celui-ci. La valeur par défaut est true.
Privé Boolean facultatif. Spécifie si la référence doit être copiée dans le dossier de sortie. Cet attribut correspond à la propriété Copy Local de la référence qui se trouve dans l’IDE Visual Studio.
SetConfiguration Chaîne facultative. Définit la Configuration de propriété globale pour le projet référencé, par exemple Configuration=Release.
SetPlatform Chaîne facultative. Définit la Platform de propriété globale pour le projet référencé, par exemple Platform=AnyCPU.
SetTargetFramework Chaîne facultative. Définit la TargetFramework de propriété globale pour le projet référencé, par exemple TargetFramework=netstandard2.0.
SkipGetTargetFrameworkProperties Boolean facultatif. Si true, génère le projet référencé sans négocier la valeur TargetFramework la plus compatible. La valeur par défaut est false.
Cibles string[]facultatif . Liste de cibles séparées par des points-virgules dans les projets référencés qui doivent être générés. La valeur par défaut est $(ProjectReferenceBuildTargets), qui est par défaut vide, indiquant les cibles par défaut. Lors de la génération dans Visual Studio (par opposition à MSBuild.exe ou dotnet build), la spécification n’empêche pas Visual Studio de générer les cibles par défaut du projet référencé.

Note

Il existe une différence entre le fonctionnement des références de projet entre .NET Framework et .NET Core (y compris .NET 5 et versions ultérieures). Dans les projets .NET Framework, les références de projet ne sont pas transitives. Autrement dit, si Project1 fait référence à Project2 et Project2 fait référence à Project3, vous ne pouvez pas coder par rapport à Project3 à partir de Project1. Toutefois, dans .NET Core (y compris .NET 5 et versions ultérieures), les références de projet sont transitives. Vous pouvez coder sur Project3 dans Project1.

Compiler

Représente les fichiers sources du compilateur.

Nom des métadonnées d’élément Description
DependentUpon Chaîne facultative. Spécifie le fichier sur lequel ce fichier dépend de la compilation correcte.
AutoGen Boolean facultatif. Indique si le fichier a été généré pour le projet par l’environnement de développement intégré (IDE) visual Studio.
Lien Chaîne facultative. Chemin d’accès notation à afficher lorsque le fichier est physiquement situé en dehors de l’influence du fichier projet.
Visible Boolean facultatif. Indique s’il faut afficher le fichier dans l’Explorateur de solutions dans Visual Studio.
CopyToOutputDirectory Chaîne facultative. Détermine s’il faut copier le fichier dans le répertoire de sortie. Les valeurs sont les suivantes :

1. Jamais
2. Toujours
3. PreserveNewest
4. IfDifferent

EmbeddedResource

Représente les ressources à incorporer dans l’assembly généré.

Nom des métadonnées d’élément Description
Culture Chaîne facultative. Spécifie la culture du fichier de ressources. Si elle est spécifiée, le processus de génération ne déduit pas automatiquement la culture en fonction de l’extension de fichier (qui dépend des cultures disponibles pour .NET/OS sur l’ordinateur hébergeant la build). La définition de métadonnées Culture={culture identifier} ou WithCulture=false est vivement recommandée.
WithCulture Bool facultatif. Spécifie que le fichier est neutre pour la culture et que la détection de culture par AssignCulture tâche doit être ignorée. La définition de métadonnées Culture={culture identifier} ou WithCulture=false est vivement recommandée.
DependentUpon Chaîne facultative. Spécifie le fichier sur lequel ce fichier dépend de la compilation correctement
Générateur Chaîne facultative. Nom de n’importe quel générateur de fichiers exécuté sur cet élément.
LastGenOutput Chaîne facultative. Nom du fichier créé par n’importe quel générateur de fichiers exécuté sur cet élément.
CustomToolNamespace Chaîne facultative. Espace de noms dans lequel tout générateur de fichiers qui s’exécute sur cet élément doit créer du code.
Lien Chaîne facultative. Le chemin d’accès notationnel s’affiche si le fichier est physiquement situé en dehors de l’influence du projet.
Visible Boolean facultatif. Indique s’il faut afficher le fichier dans l’Explorateur de solutions dans Visual Studio.
CopyToOutputDirectory Chaîne facultative. Détermine s’il faut copier le fichier dans le répertoire de sortie. Les valeurs sont les suivantes :

1. Jamais
2. Toujours
3. PreserveNewest
4. IfDifferent
LogicalName Chaîne requise. Nom logique de la ressource incorporée.

Contenu

Représente les fichiers qui ne sont pas compilés dans le projet, mais peuvent être incorporés ou publiés avec celui-ci.

Nom des métadonnées d’élément Description
DependentUpon Chaîne facultative. Spécifie le fichier sur lequel ce fichier dépend de la compilation correcte.
Générateur Chaîne facultative. Nom de n’importe quel générateur de fichiers qui s’exécute sur cet élément.
LastGenOutput Chaîne facultative. Nom du fichier créé par n’importe quel générateur de fichiers exécuté sur cet élément.
CustomToolNamespace Chaîne facultative. Espace de noms dans lequel tout générateur de fichiers qui s’exécute sur cet élément doit créer du code.
Lien Chaîne facultative. Chemin d’accès notationnel à afficher si le fichier se trouve physiquement en dehors de l’influence du projet.
PublishState Chaîne requise. État de publication du contenu, soit :

-Faire défaut
-Inclus
-Exclu
-Datafile
-Prérequis
IsAssembly Boolean facultatif. Spécifie si le fichier est un assembly.
Visible Boolean facultatif. Indique s’il faut afficher le fichier dans l’Explorateur de solutions dans Visual Studio.
CopyToOutputDirectory Chaîne facultative. Détermine s’il faut copier le fichier dans le répertoire de sortie. Les valeurs sont les suivantes :

1. Jamais
2. Toujours
3. PreserveNewest
4. IfDifferent
TargetPath Chaîne facultative. Chemin de sortie (par rapport au répertoire de sortie spécifique à la configuration et/ou à la plateforme) d’un élément, y compris le nom de fichier. Cela respecte les métadonnées Link, le cas échéant. Si TargetPath n’est pas fourni, il est calculé pendant le processus de génération. Voir AssignTargetPath.

Aucun

Représente les fichiers qui ne doivent pas avoir de rôle dans le processus de génération.

Nom des métadonnées d’élément Description
DependentUpon Chaîne facultative. Spécifie le fichier sur lequel ce fichier dépend de la compilation correcte.
Générateur Chaîne facultative. Nom de n’importe quel générateur de fichiers exécuté sur cet élément.
LastGenOutput Chaîne facultative. Nom du fichier créé par n’importe quel générateur de fichiers exécuté sur cet élément.
CustomToolNamespace Chaîne facultative. Espace de noms dans lequel tout générateur de fichiers qui s’exécute sur cet élément doit créer du code.
Lien Chaîne facultative. Chemin d’accès notationnel à afficher si le fichier se trouve physiquement en dehors de l’influence du projet.
Visible Boolean facultatif. Indique s’il faut afficher le fichier dans l’Explorateur de solutions dans Visual Studio.
CopyToOutputDirectory Chaîne facultative. Détermine s’il faut copier le fichier dans le répertoire de sortie. Les valeurs sont les suivantes :

1. Jamais
2. Toujours
3. PreserveNewest
4. IfDifferent

AssemblyMetadata

Représente les attributs d’assembly à générer en tant que [AssemblyMetadata(key, value)].

Nom des métadonnées d’élément Description
Inclure Devient le premier paramètre (la clé) dans le constructeur d’attribut AssemblyMetadataAttribute.
Valeur Chaîne requise. Devient le deuxième paramètre (la valeur) dans le constructeur d’attribut AssemblyMetadataAttribute.

Note

Cet élément s’applique aux projets utilisant le Kit de développement logiciel (SDK) pour .NET 5 (et .NET Core) et les versions ultérieures.

InternalsVisibleTo

Spécifie les assemblys à émettre en tant qu’attributs d’assembly [InternalsVisibleTo(..)].

Nom des métadonnées d’élément Description
Inclure Nom de l’assembly.
Clé Chaîne facultative. Clé publique de l’assembly.

Note

Cet élément s’applique aux projets utilisant le Kit de développement logiciel (SDK) pour .NET 5 (et .NET Core) et les versions ultérieures.

BaseApplicationManifest

Représente le manifeste d’application de base de la build et contient les informations de sécurité du déploiement ClickOnce.

CodeAnalysisImport

Représente le projet FxCop à importer.

Importation

Représente les assemblys dont les espaces de noms doivent être importés par le compilateur Visual Basic.

Dossier

Cet élément est utilisé uniquement par Visual Studio comme espace réservé pour un dossier vide. Lorsque le dossier est rempli, il est remplacé par un autre élément.

Voir aussi