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)>