Attributs au niveau de l’assembly interprétés par le compilateur C#
La plupart des attributs sont appliqués à des éléments de langage spécifiques, tels que les classes ou les méthodes. Toutefois, certains attributs sont globaux : ils s’appliquent à la totalité d’un assembly ou d’un module. Par exemple, l’attribut AssemblyVersionAttribute peut être utilisé pour incorporer des informations de version dans un assembly, de la manière suivante :
[assembly: AssemblyVersion("1.0.0.0")]
Les attributs globaux apparaissent dans le code source après toute directive using
de niveau supérieur et avant toute déclaration de type, de module ou d’espace de noms. Les attributs globaux peuvent apparaître dans plusieurs fichiers sources, mais les fichiers doivent être compilés en un seul passage. Visual Studio ajoute des attributs globaux au fichier AssemblyInfo.cs dans les projets .NET Framework. Ces attributs ne sont pas ajoutés aux projets .NET Core.
Les attributs d’assembly sont des valeurs qui fournissent des informations sur un assembly. Ils sont répartis dans les catégories suivantes :
- Attributs d’identité de l’assembly
- Attributs d’informations
- Attributs de manifeste de l’assembly
Attributs d’identité de l’assembly
Trois attributs (avec un nom fort, le cas échéant), déterminent l’identité d’un assembly : nom, version et culture. Ces attributs constituent le nom complet de l’assembly et sont obligatoires quand vous le référencez le code. Vous pouvez définir la version et la culture d’un assembly en utilisant des attributs. Toutefois, la valeur de nom est définie par le compilateur, l’IDE de Visual Studio dans la boîte de dialogue Informations sur l’assembly ou l’utilitaire Assembly Linker (Al.exe) lors de la création de l’assembly. Le nom de l’assembly est basé sur le manifeste de l’assembly. L’attribut AssemblyFlagsAttribute spécifie si plusieurs copies de l’assembly peuvent coexister.
Le tableau suivant présente les attributs d’identité.
Attribut | Objectif |
---|---|
AssemblyVersionAttribute | Spécifie la version d’un assembly. |
AssemblyCultureAttribute | Spécifie la culture prise en charge par l'assembly. |
AssemblyFlagsAttribute | Spécifie une combinaison d’opérations au niveau du bit d’indicateurs pour un assembly, en décrivant les options du compilateur juste-à-temps (JIT), la possibilité de rediriger l’assembly et l’existence d’une clé publique complète ou sous forme de jetons. |
Attributs d’informations
Vous utilisez les attributs d’informations pour fournir des informations supplémentaires sur le produit ou la société d’un assembly. Le tableau suivant présente les attributs d’informations définis dans l’espace de noms System.Reflection.
Attribut | Objectif |
---|---|
AssemblyProductAttribute | Spécifie un nom de produit pour un manifeste d’assembly. |
AssemblyTrademarkAttribute | Spécifie une marque de commerce pour un manifeste d’assembly. |
AssemblyInformationalVersionAttribute | Spécifie une version d’informations pour un manifeste d’assembly. |
AssemblyCompanyAttribute | Spécifie un nom de société pour un manifeste d’assembly. |
AssemblyCopyrightAttribute | Définit un attribut personnalisé qui spécifie un copyright pour un manifeste d’assembly. |
AssemblyFileVersionAttribute | Définit un numéro de version spécifique pour la ressource de la version du fichier Win32. |
CLSCompliantAttribute | Indique si l’assembly est conforme à la spécification CLS (Common Language Specification). |
Attributs de manifeste de l’assembly
Vous pouvez utiliser les attributs de manifeste de l’assembly pour fournir des informations dans le manifeste de l’assembly. Les attributs incluent le titre, la description, l’alias par défaut et la configuration. Le tableau suivant présente les attributs de manifeste de l’assembly définis dans l’espace de noms System.Reflection.
Attribut | Objectif |
---|---|
AssemblyTitleAttribute | Spécifie un titre d’assembly pour un manifeste d’assembly. |
AssemblyDescriptionAttribute | Spécifie une description d’assembly pour un manifeste d’assembly. |
AssemblyConfigurationAttribute | Spécifie une configuration d’assembly (telles que retail ou debug) pour un manifeste d’assembly. |
AssemblyDefaultAliasAttribute | Définit un alias par défaut convivial pour un manifeste d’assembly. |