Éléments communs des projets MSBuild
Dans MSBuild, un élément est une référence nommée à un ou plusieurs fichiers. Les éléments contiennent des métadonnées, comme des noms de fichiers, des chemins et des numéros de version. Dans Visual Studio, tous les types de projets ont plusieurs éléments en commun. Ces éléments sont définis dans le fichier Microsoft.Build.CommonTypes.xsd.
Cet article liste tous les éléments de projet courants.
Reference
Représente une référence (managée) d'assembly dans le projet.
Nom des métadonnées de l’é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 | Valeur booléenne facultative. Indique si seule la version figurant dans le nom de fusion doit être référencée. |
Alias | Chaîne facultative. Alias éventuels de la référence. |
Privées | Valeur booléenne facultative. Indique si la référence doit être copiée dans le dossier de sortie. Cet attribut correspond à la propriété Copie locale de la référence qui se trouve dans l’IDE Visual Studio. |
COMReference
Représente une référence de composant (non managé) COM dans le projet. Cet élément s’applique uniquement aux projets .NET.
Nom des métadonnées de l’élément | Description |
---|---|
Nom | Chaîne facultative. Nom complet du composant. |
Guid | Chaîne obligatoire. GUID du composant sous la forme {12345678-1234-1234-1234-123456781234}. |
VersionMajor | Chaîne obligatoire. 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 obligatoire. Partie secondaire du numéro de version du composant. Par exemple, « 46 » si le numéro de version complet est « 5.46 ». |
EmbedInteropTypes | Valeur booléenne facultative. Si true, incorporez les types interop de cette référence directement dans votre assembly au lieu de générer une DLL interop. |
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. primary 2. tlbimp 3. primaryortlbimp 4. aximp |
Isolé | Valeur booléenne facultative. Indique si le composant est un composant sans inscription. |
COMFileReference
Représente une liste de bibliothèques de types qui sont passées au paramètre TypeLibFiles
de la cible ResolveComReference. Cet élément s’applique uniquement aux projets .NET.
Nom des métadonnées de l’élément | Description |
---|---|
WrapperTool | Chaîne facultative. Nom de l’outil wrapper utilisé sur le composant. Les valeurs sont les suivantes : 1. primary 2. tlbimp 3. primaryortlbimp 4. aximp |
NativeReference
Représente un fichier manifeste natif ou une référence à un fichier de ce type.
Nom des métadonnées de l’élément | Description |
---|---|
Nom | Chaîne obligatoire. Nom de base du fichier manifeste. |
HintPath | Chaîne obligatoire. Chemin d'accès relatif du fichier manifeste. |
ProjectReference
Représente une référence à un autre projet. Les éléments ProjectReference
sont transformés en éléments Reference par la cible ResolveProjectReferences
. Par conséquent, toutes les métadonnées valides sur une référence peuvent être valides sur ProjectReference
, si le processus de transformation ne les remplace pas.
Nom des métadonnées de l’élément | Description |
---|---|
Nom | Chaîne facultative. Nom complet de la référence. |
GlobalPropertiesToRemove | string[] optionnel. Noms des propriétés à supprimer lors de la génération du projet référencé, par exemple RuntimeIdentifier;PackOnBuild . Vide par défaut. |
Project | 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 | Valeur booléenne facultative. S’il est défini false sur , n’inclut pas la sortie du projet référencé en tant que référence de ce projet, mais garantit que l’autre projet est généré avant celui-ci. La valeur par défaut est true . |
Privées | Valeur booléenne facultative. Indique si la référence doit être copiée dans le dossier de sortie. Cet attribut correspond à la propriété Copie locale de la référence qui se trouve dans l’IDE Visual Studio. |
SetConfiguration | Chaîne facultative. Définit la propriété globale Configuration pour le projet référencé, par exemple Configuration=Release . |
SetPlatform | Chaîne facultative. Définit la propriété globale Platform pour le projet référencé, par exemple Platform=AnyCPU . |
SetTargetFramework | Chaîne facultative. Définit la propriété globale TargetFramework pour le projet référencé, par exemple TargetFramework=netstandard2.0 . |
SkipGetTargetFrameworkProperties | Valeur booléenne facultative. 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 . |
Targets | string[] optionnel. Liste de cibles séparées par des points-virgules dans les projets référencés qui doivent être générées. La valeur $(ProjectReferenceBuildTargets) par défaut est , 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é. |
Remarque
Il existe une différence entre le fonctionnement des références de projet dans le .NET Framework et dans .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 Projet1 fait référence à Projet2 et que Projet2 fait référence à Projet3, vous ne pouvez pas coder sur Projet3 à partir de Projet1. Toutefois, dans .NET Core (y compris .NET 5 et versions ultérieures), les références de projet sont transitives. Vous pouvez coder sur Projet3 dans Projet1.
Compiler
Représente les fichiers sources du compilateur.
Nom des métadonnées de l’élément | Description |
---|---|
DependentUpon | Chaîne facultative. Spécifie le fichier dont dépend ce fichier pour une compilation correcte. |
AutoGen | Valeur booléenne facultative. 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 codifiable à afficher quand le fichier se trouve physiquement en dehors de l’influence du fichier projet. |
Visible | Valeur booléenne facultative. Indique si le fichier doit être affiché dans l’Explorateur de solutions de Visual Studio. |
CopyToOutputDirectory | Chaîne facultative. Détermine si le fichier doit être copié dans le répertoire de sortie. Les valeurs sont les suivantes : 1. Never 2. Always 3. PreserveNewest |
EmbeddedResource
Représente les ressources à incorporer dans l'assembly généré.
Nom des métadonnées de l’élément | Description |
---|---|
DependentUpon | Chaîne facultative. Spécifie le fichier dont dépend ce fichier pour une compilation correcte. |
Générateur | Chaîne facultative. Nom du générateur de fichier exécuté sur cet élément. |
LastGenOutput | Chaîne facultative. Nom du fichier créé par le générateur de fichier qui a été exécuté sur cet élément. |
CustomToolNamespace | Chaîne facultative. Espace de noms dans lequel le générateur de fichier s'exécutant sur cet élément doit créer du code. |
Lien | Chaîne facultative. Le chemin d’accès codifiable s’affiche si le fichier se trouve physiquement en dehors de l’influence du projet. |
Visible | Valeur booléenne facultative. Indique si le fichier doit être affiché dans l’Explorateur de solutions de Visual Studio. |
CopyToOutputDirectory | Chaîne facultative. Détermine si le fichier doit être copié dans le répertoire de sortie. Les valeurs sont les suivantes : 1. Never 2. Always 3. PreserveNewest |
LogicalName | Chaîne obligatoire. 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 de l’élément | Description |
---|---|
DependentUpon | Chaîne facultative. Spécifie le fichier dont dépend ce fichier pour une compilation correcte. |
Générateur | Chaîne facultative. Nom du générateur de fichier qui s'exécute sur cet élément. |
LastGenOutput | Chaîne facultative. Nom du fichier créé par le générateur de fichier qui a été exécuté sur cet élément. |
CustomToolNamespace | Chaîne facultative. Espace de noms dans lequel le générateur de fichier s'exécutant sur cet élément doit créer du code. |
Lien | Chaîne facultative. Chemin d'accès codifiable à afficher si le fichier se trouve physiquement en dehors de l'influence du projet. |
PublishState | Chaîne obligatoire. État de publication du contenu, à savoir : - Default - Included - Excluded - DataFile - Prerequisite |
IsAssembly | Valeur booléenne facultative. Indique si le fichier est un assembly. |
Visible | Valeur booléenne facultative. Indique si le fichier doit être affiché dans l’Explorateur de solutions de Visual Studio. |
CopyToOutputDirectory | Chaîne facultative. Détermine si le fichier doit être copié dans le répertoire de sortie. Les valeurs sont les suivantes : 1. Never 2. Always 3. PreserveNewest |
TargetPath | Chaîne facultative. Chemin de sortie (relatif au répertoire de sortie propre à la configuration et/ou à la plateforme) d’un élément, y compris le nom de fichier. Cela respecte les métadonnées Link , si elles sont fournies. Si TargetPath n’est pas fourni, il est calculé pendant le processus de génération. Consultez AssignTargetPath. |
Aucun
Représente les fichiers qui ne doivent avoir aucun rôle dans le processus de génération.
Nom des métadonnées de l’élément | Description |
---|---|
DependentUpon | Chaîne facultative. Spécifie le fichier dont dépend ce fichier pour une compilation correcte. |
Générateur | Chaîne facultative. Nom du générateur de fichier exécuté sur cet élément. |
LastGenOutput | Chaîne facultative. Nom du fichier créé par le générateur de fichier qui a été exécuté sur cet élément. |
CustomToolNamespace | Chaîne facultative. Espace de noms dans lequel le générateur de fichier s'exécutant sur cet élément doit créer du code. |
Lien | Chaîne facultative. Chemin d'accès codifiable à afficher si le fichier se trouve physiquement en dehors de l'influence du projet. |
Visible | Valeur booléenne facultative. Indique si le fichier doit être affiché dans l’Explorateur de solutions de Visual Studio. |
CopyToOutputDirectory | Chaîne facultative. Détermine si le fichier doit être copié dans le répertoire de sortie. Les valeurs sont les suivantes : 1. Never 2. Always 3. PreserveNewest |
AssemblyMetadata
Représente les attributs d’assembly à générer en tant que [AssemblyMetadata(key, value)]
.
Nom des métadonnées de l’élément | Description |
---|---|
Inclure | Devient le premier paramètre (la clé) dans le constructeur d’attribut AssemblyMetadataAttribute . |
Valeur | Chaîne obligatoire. Devient le deuxième paramètre (la valeur) dans le constructeur d’attribut AssemblyMetadataAttribute . |
Notes
Cet élément s’applique aux projets qui utilisent le Kit SDK pour .NET 5 (et .NET Core) et versions ultérieures.
InternalsVisibleTo
Spécifie les assemblys à émettre en tant qu’attributs d’assembly [InternalsVisibleTo(..)]
.
Nom des métadonnées de l’élément | Description |
---|---|
Inclure | Nom de l'assembly. |
Clé | Chaîne facultative. Clé publique de l’assembly. |
Notes
Cet élément s’applique aux projets qui utilisent le Kit SDK pour .NET 5 (et .NET Core) et versions ultérieures.
BaseApplicationManifest
Représente le manifeste d’application de base de la build, et contient les informations de sécurité de déploiement de ClickOnce.
CodeAnalysisImport
Représente le projet FxCop à importer.
Importer
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.