Atributos de nível de assembly interpretados pelo compilador C#
A maioria dos atributos é aplicada a elementos específicos da linguagem, como classes ou métodos; No entanto, alguns atributos são globais — eles se aplicam a um assembly ou módulo inteiro. Por exemplo, o AssemblyVersionAttribute atributo pode ser usado para incorporar informações de versão em um assembly, da seguinte forma:
[assembly: AssemblyVersion("1.0.0.0")]
Os atributos globais aparecem no código-fonte após quaisquer diretivas de nível using
superior e antes de qualquer tipo, módulo ou declaração de namespace. Os atributos globais podem aparecer em vários arquivos de origem, mas os arquivos devem ser compilados em um único passo de compilação. O Visual Studio adiciona atributos globais ao arquivo AssemblyInfo.cs em projetos do .NET Framework. Esses atributos não são adicionados aos projetos .NET Core.
Atributos de assembly são valores que fornecem informações sobre um assembly. Enquadram-se nas seguintes categorias:
- Atributos de identidade do assembly
- Atributos informativos
- Atributos do manifesto do assembly
Atributos de identidade do assembly
Três atributos (com um nome forte, se aplicável) determinam a identidade de um assembly: nome, versão e cultura. Esses atributos formam o nome completo do assembly e são necessários quando você faz referência a ele no código. Você pode definir a versão e a cultura de um assembly usando atributos. No entanto, o valor do nome é definido pelo compilador, o IDE do Visual Studio na caixa de diálogo Informações do assembly ou o vinculador do assembly (Al.exe) quando o assembly é criado. O nome do assembly é baseado no manifesto do assembly. O AssemblyFlagsAttribute atributo especifica se várias cópias do assembly podem coexistir.
A tabela a seguir mostra os atributos de identidade.
Atributo | Propósito |
---|---|
AssemblyVersionAttribute | Especifica a versão de um assembly. |
AssemblyCultureAttribute | Especifica qual cultura o assembly suporta. |
AssemblyFlagsAttribute | Especifica uma combinação bit a bit de sinalizadores para um assembly, descrevendo as opções do compilador just-in-time (JIT), se o assembly é redirecionável e se tem uma chave pública completa ou tokenizada. |
Atributos informativos
Você usa atributos informativos para fornecer mais informações sobre a empresa ou o produto para uma montagem. A tabela a seguir mostra os atributos informativos definidos no System.Reflection namespace.
Atributo | Propósito |
---|---|
AssemblyProductAttribute | Especifica um nome de produto para um manifesto de assembly. |
AssemblyTrademarkAttribute | Especifica uma marca comercial para um manifesto de assembly. |
AssemblyInformationalVersionAttribute | Especifica uma versão informativa para um manifesto de assembly. |
AssemblyCompanyAttribute | Especifica um nome de empresa para um manifesto de assembly. |
AssemblyCopyrightAttribute | Define um atributo personalizado que especifica um copyright para um manifesto de assembly. |
AssemblyFileVersionAttribute | Define um número de versão específico para o recurso de versão do arquivo Win32. |
CLSCompliantAttribute | Indica se o assembly é compatível com a Common Language Specification (CLS). |
Atributos do manifesto do assembly
Você pode usar atributos de manifesto de assembly para fornecer informações no manifesto de assembly. Os atributos incluem título, descrição, alias padrão e configuração. A tabela a seguir mostra os atributos de manifesto System.Reflection de assembly definidos no namespace.
Atributo | Propósito |
---|---|
AssemblyTitleAttribute | Especifica um título de assembly para um manifesto de assembly. |
AssemblyDescriptionAttribute | Especifica uma descrição de assembly para um manifesto de assembly. |
AssemblyConfigurationAttribute | Especifica uma configuração de assembly (como varejo ou depuração) para um manifesto de assembly. |
AssemblyDefaultAliasAttribute | Define um alias padrão amigável para um manifesto de assembly |