Compartilhar via


Definir atributos de assembly no código

Atributos de assemblagem são valores que fornecem informações sobre uma assemblagem. Eles geralmente são definidos em um arquivo AssemblyInfo.cs . Os atributos são divididos nos seguintes conjuntos de informações:

  • Atributos de identidade do assembly
  • Atributos informativos
  • Atributos de manifesto do assembly
  • Atributos de nome forte

Este artigo tem como objetivo adicionar atributos de assembly no código. Para obter informações sobre como adicionar atributos de assembly a projetos (não no código), consulte Definir atributos de assembly em um arquivo de projeto.

Atributos de identidade do assembly

Três atributos, quando combinados a 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 ao referenciar o assembly no código. Você pode usar atributos para definir a versão e a cultura de um assembly. O compilador ou o Assembly Linker (Al.exe) define o valor do nome quando o assembly é criado, com base no arquivo que contém o manifesto do assembly.

A tabela a seguir descreve os atributos de versão e cultura.

Atributo de identidade do assembly Descrição
AssemblyCultureAttribute Campo enumerado que indica a cultura compatível com o assembly. Um assembly também pode especificar a independência da cultura, indicando que ela contém os recursos para a cultura padrão. Observação: o runtime trata qualquer assembly que não tenha o atributo de cultura definido como nulo, como um assembly satélite. Esses assemblies estão sujeitos às regras de associação de assembly satélite. Para obter mais informações, consulte Como o runtime localiza assemblies.
AssemblyFlagsAttribute O valor que define os atributos de assembly; por exemplo, se o assembly pode ser executado lado a lado.
AssemblyVersionAttribute Valor numérico no formato principal.secundário.compilação.revisão (por exemplo, 2.4.0.0). O common language runtime usa esse valor para executar operações de associação em assemblies de nome forte. Nota: Se o AssemblyInformationalVersionAttribute atributo não for aplicado a um assembly, o número de versão especificado pelo AssemblyVersionAttribute atributo será usado pelas propriedades Application.ProductVersion, Application.UserAppDataPath e Application.UserAppDataRegistry.

O exemplo de código a seguir mostra como aplicar os atributos de versão e cultura a um assembly.

// Set version number for the assembly.
[assembly:AssemblyVersionAttribute("4.3.2.1")];
// Set culture as German.
[assembly:AssemblyCultureAttribute("de")];
// Set version number for the assembly.
[assembly:AssemblyVersionAttribute("4.3.2.1")]
// Set culture as German.
[assembly:AssemblyCultureAttribute("de")]
' Set version number for the assembly.
<Assembly:AssemblyVersionAttribute("4.3.2.1")>
' Set culture as German.
<Assembly:AssemblyCultureAttribute("de")>

Atributos informativos

Você pode usar atributos informativos para fornecer informações adicionais da empresa ou do produto para uma montagem. A tabela abaixo descreve os atributos de informação que você pode aplicar a um conjunto.

Atributo informativo Descrição
AssemblyCompanyAttribute Valor de cadeia de caracteres especificando um nome da empresa.
AssemblyCopyrightAttribute Valor da cadeia de caracteres especificando informações de direitos autorais.
AssemblyFileVersionAttribute Valor da cadeia de caracteres especificando o número da versão do arquivo Win32. Isso normalmente tem como padrão a versão do assembly.
AssemblyInformationalVersionAttribute Valor de cadeia de caracteres especificando informações de versão que não são usadas pelo common language runtime, como um número de versão completo do produto. Nota: Se esse atributo for aplicado a um assembly, a cadeia de caracteres especificada poderá ser obtida em runtime usando a Application.ProductVersion propriedade. A cadeia de caracteres também é usada no caminho e na chave do Registro fornecidos pelas propriedades Application.UserAppDataPath e Application.UserAppDataRegistry.
AssemblyProductAttribute Valor da cadeia de caracteres especificando informações do produto.
AssemblyTrademarkAttribute Valor da cadeia de caracteres especificando informações de marca.

Esses atributos podem aparecer na página Propriedades do Windows do assembly ou podem ser substituídos usando a opção do compilador /win32res para especificar seu arquivo de recurso Win32.

Atributos de manifesto do assembly

Também é possível usar atributos de manifesto do assembly para fornecer informações no manifesto do assembly, incluindo título, descrição, o alias padrão e a configuração. A tabela a seguir descreve os atributos de manifesto do assembly.

Atributo de manifesto do assembly Descrição
AssemblyConfigurationAttribute O valor de cadeia de caracteres que indica a configuração do assembly, como Retail ou Depuração. O runtime não usa esse valor.
AssemblyDefaultAliasAttribute Cadeia de caracteres especificando um alias padrão a ser usado pelas assemblies de referência. Esse valor fornece um nome amigável quando o nome do assembly em si não o for (como um valor GUID). Esse valor também pode ser usado como uma forma abreviada do nome completo do assembly.
AssemblyDescriptionAttribute O valor de cadeia de caracteres que especifica uma breve descrição que resume a natureza e o objetivo do assembly.
AssemblyTitleAttribute O valor de cadeia de caracteres que especifica um nome amigável para o assembly. Por exemplo, um assembly chamado comdlg pode ter o título Controle de Diálogo Comum da Microsoft.

Atributos de nome forte

Você pode usar atributos de nome forte para definir um nome forte para um assembly. A tabela a seguir descreve os atributos de nome forte.

Atributo de nome forte Descrição
AssemblyDelaySignAttribute Valor booleano que indica que a assinatura tardia está sendo usada.
AssemblyKeyFileAttribute Valor da cadeia de caracteres que indica o nome do arquivo que contém a chave pública (se estiver usando assinatura tardia) ou as chaves públicas e privadas passadas como parâmetro para o construtor deste atributo. Observe que o nome do arquivo é relativo ao caminho do arquivo de saída (o .exe ou .dll), não ao caminho do arquivo de origem.
AssemblyKeyNameAttribute Indica o contêiner de chave que contém o par de chaves passado como um parâmetro para o construtor desse atributo.

O exemplo de código a seguir mostra os atributos a serem aplicados ao usar a assinatura de atraso para criar um assembly de nome forte com um arquivo de chave pública chamado myKey.snk.

[assembly:AssemblyKeyFileAttribute("myKey.snk")];
[assembly:AssemblyDelaySignAttribute(true)];
[assembly:AssemblyKeyFileAttribute("myKey.snk")]
[assembly:AssemblyDelaySignAttribute(true)]
<Assembly:AssemblyKeyFileAttribute("myKey.snk")>
<Assembly:AssemblyDelaySignAttribute(True)>

Consulte também