Notes
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.
Dans MSBuild, un élément est une référence nommée à une ou plusieurs chaînes, telles que des noms de 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 définis dans MSBuild lui-même. Les éléments et les propriétés fournis par le Kit de développement logiciel (SDK) .NET sont documentés à l’aide de la référence MSBuild pour Microsoft.Net.Sdk.
Reference
Représente une référence d’assembly .NET (managé) dans le projet.
Nom des métadonnées d’élément | Descriptif |
---|---|
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. |
Remarque
Le Reference
type d’élément peut également être utilisé pour référencer des assemblys wrapper prégénérés pour les objets COM natifs, par exemple, si vous avez utilisé tlbimp.exe
pour générer un assembly PIA (assembly d’interopérabilité primaire). Ce type de référence est un choix approprié lorsque vous souhaitez prégénérer les assemblys de wrapper COM vous-même avec des entrées connues, au lieu de compter sur l’algorithme de MSBuild pour générer des wrappers COM au moment de la génération, ce qui introduit une dépendance sur l’état du registre système sur l’ordinateur de build sur lequel MSBuild est exécuté.
COMReference
Représente une référence de composant COM (non managé) dans le projet. Cet élément est utilisé par la tâche ResolveComReference, qui génère les assemblys wrapper ou, le cas échéant EmbedInteropTypes
, incorpore les types d’interopérabilité dans votre assembly. L’utilisation de ce type de référence introduit une dépendance sur le registre système sur la machine de build, qui est utilisée pour rechercher l’objet COM référencé. Les artefacts COM et les entrées COM dans le Registre peuvent changer lorsque les produits sont installés, mis à jour ou désinstallés sur l’ordinateur (ou lorsque vous exécutez la même build sur un autre ordinateur), ce qui peut produire un assembly wrapper différent même si la logique de génération n’a pas changé.
Cet élément ne s’applique pas aux projets non-.NET.
Nom des métadonnées d’élément | Descriptif |
---|---|
Nom | Chaîne facultative. Nom complet du composant. |
Guide | 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 à référencer par chemin d’accès de fichier, au lieu d’utiliser le Registre système. Ce type de référence peut être une bonne alternative à COMReference dans les cas où vous souhaitez éviter une dépendance sur le registre de l’ordinateur de build, soit parce que le compte qui exécute la build n’a pas de privilèges élevés pour modifier le Registre sur le serveur de build, ou si vous ne souhaitez pas que la build ait une dépendance sur l’état du Registre. Si vous utilisez COMFileReference
pour référencer un artefact sur un chemin d’accès système, votre build a une dépendance sur l’état du système. Si l’artefact système change en raison d’une modification de l’état du système, par exemple lorsque les produits sont installés, mis à jour ou désinstallés (ou si vous exécutez la même build sur un autre ordinateur), l’assembly wrapper peut changer, même si la logique de génération n’a pas changé. Pour garantir un résultat de build cohérent, vous pouvez mettre en cache une copie connue de l’artefact COM dans un emplacement que vous contrôlez, par exemple sous votre projet ou dossier de solution, et référencer cela au lieu de l’artefact système.
Cet élément ne s’applique pas aux projets non-.NET.
Nom des métadonnées d’élément | Descriptif |
---|---|
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é. |
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 | Descriptif |
---|---|
Nom | Chaîne requise. Nom de base du fichier manifeste. |
HintPath | Chaîne requise. Chemin d’accès relatif du fichier manifeste. |
Référence de projet
Représente une référence à un autre projet.
ProjectReference
les éléments sont transformés en éléments de référence par la ResolveProjectReferences
cible. Par conséquent, toutes les métadonnées valides sur une référence peuvent être valides ProjectReference
, si le processus de transformation ne le remplace pas.
Nom des métadonnées d’élément | Descriptif |
---|---|
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 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é | 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é. |
Remarque
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 | Descriptif |
---|---|
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 | Descriptif |
---|---|
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 | Descriptif |
---|---|
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 | Descriptif |
---|---|
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 | Descriptif |
---|---|
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 . |
Remarque
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.
InterneVisibleTo
Spécifie les assemblys à émettre en tant qu’attributs d’assembly [InternalsVisibleTo(..)]
.
Nom des métadonnées d’élément | Descriptif |
---|---|
Inclure | Nom de l’assembly. |
Clé | Chaîne facultative. Clé publique de l’assembly. |
Remarque
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.