Partilhar via


Definir atributos de assembly no código

Os atributos de assemblagem são os 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 da assemblagem
  • Atributos informativos
  • Atributos do manifesto da assemblagem
  • Atributos de nome fortes

Este artigo está focado em adicionar atributos de assembly a partir 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 da assemblagem

Três atributos, juntamente com um nome forte (quando 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 vinculador de assembly (Al.exe) define o valor de 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 indicando a cultura que o conjunto suporta. Uma assembly também pode especificar a independência cultural, indicando que contém os recursos para a cultura padrão. Observação: O runtime 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 mais informações, veja Como o tempo de execução localiza assemblies.
AssemblyFlagsAttribute Valor que define atributos da assemblagem, como se a assemblagem pode ser executada em paralelo.
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. Observação: Se o atributo AssemblyInformationalVersionAttribute não for aplicado a um assembly, o número da versão especificado pelo atributo AssemblyVersionAttribute 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 sobre a empresa ou o produto para uma montagem. A tabela a seguir descreve os atributos informativos aplicáveis a um assembly.

Atributo informativo Descrição
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 este atributo for aplicado a uma assembleia, a cadeia que especifica pode 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 registo 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 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 da assemblagem

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

Atributo de manifesto de montagem Descrição
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 que especifica um alias padrão para ser usado quando se faz 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 abreviada do nome completo do assembly.
AssemblyDescriptionAttribute Valor de cadeia de caracteres especificando uma breve descrição que resume a natureza e finalidade do conjunto.
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 Descrição
AssemblyDelaySignAttribute Valor booleano que indica que a assinatura de atraso está sendo usada.
AssemblyKeyFileAttribute Valor da cadeia de caracteres que indica o nome do ficheiro que contém a chave pública (se estiver a usar assinatura atrasada) ou as chaves pública e privada, passadas como parâmetros 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)>

Ver também