Partilhar via


Definir atributos de assembly no código

Atributos de assembly são valores que fornecem informações sobre um assembly. 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 do manifesto do assembly
  • Atributos de nome fortes

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

Atributos de identidade do assembly

Três atributos, juntamente 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 ao fazer referência ao 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 name 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 Description
AssemblyCultureAttribute Campo enumerado indicando a cultura que o assembly suporta. Um assembly também pode especificar a independência de cultura, indicando que ele contém os recursos para a cultura padrão. Nota: O tempo de execução trata qualquer assembly que não tenha o atributo culture definido como null como um assembly satélite. Tais conjuntos estão sujeitos a regras vinculativas de montagem satélite. Para obter mais informações, consulte Como o tempo de execução localiza assemblies.
AssemblyFlagsAttribute Valor que define atributos de assembly, como se o assembly pode ser executado lado a lado.
AssemblyVersionAttribute Valor numérico no formato principal.menor.construir.revisão (por exemplo, 2.4.0.0). O common language runtime usa esse valor para executar operações de vinculação em assemblies de nome forte. Nota: Se o AssemblyInformationalVersionAttribute atributo não for aplicado a um assembly, o número de AssemblyVersionAttribute versão especificado pelo atributo será usado pelas Application.ProductVersionpropriedades , Application.UserAppDataPathe Application.UserAppDataRegistry .

O exemplo de código a seguir mostra como aplicar os atributos version e culture 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 sobre a empresa ou o produto para uma montagem. A tabela a seguir descreve os atributos informativos que você pode aplicar a um assembly.

Atributo informativo Description
AssemblyCompanyAttribute Valor da cadeia de caracteres especificando o nome de uma 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. Normalmente, o padrão é a versão do assembly.
AssemblyInformationalVersionAttribute Valor da 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 tempo de execução usando a Application.ProductVersion propriedade. A cadeia de caracteres também é usada no caminho e na chave do Registro fornecidos pelas Application.UserAppDataPath propriedades 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 comercial.

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

Atributos do manifesto do assembly

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

Atributo de manifesto de montagem Description
AssemblyConfigurationAttribute Valor da cadeia de caracteres que indica a configuração do assembly, como Retail ou Debug. O tempo de execução não usa esse valor.
AssemblyDefaultAliasAttribute Valor da cadeia de caracteres especificando um alias padrão a ser usado fazendo referência a assemblies. Esse valor fornece um nome amigável quando o nome do assembly em si não é amigável (como um valor GUID). Esse valor também pode ser usado como uma forma curta do nome completo do assembly.
AssemblyDescriptionAttribute Valor de cadeia de caracteres especificando uma breve descrição que resume a natureza e a finalidade do assembly.
AssemblyTitleAttribute Valor da cadeia de caracteres especificando um nome amigável para o assembly. Por exemplo, um assembly chamado comdlg pode ter o título Microsoft Common Dialog Control.

Atributos de nome fortes

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 Description
AssemblyDelaySignAttribute Valor booleano que indica que a assinatura de atraso 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 a assinatura de atraso) ou as chaves pública e privada passadas como um parâmetro para o construtor desse atributo. Observe que o nome do arquivo é relativo ao caminho do arquivo de saída (o .exe ou .dll), não o 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