É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.