Atributos globais no Visual Basic
A maioria dos atributos estão conectados aos elementos de idioma específico, como classes ou métodos.No entanto, alguns atributos são globais — eles podem ser aplicados a um conjunto inteiro ou módulo.
Você pode definir muitos dos atributos no Visual Studioambiente de desenvolvimento integrado (IDE - Integrated Development Environment) por meio de Caixa de diálogo Assembly Information.Para obter mais informações, consulte Gerenciando propriedades Application e Gerenciando Assinatura de Assembly e Manifesto.
Atributos do Conjunto de Módulos (Assembly)
Você especifica atributos a nível de conjunto de módulos usando a seguinte sintaxe:
<Assembly: Attribute1, Assembly: Attribute2..., Assembly: AttributeN>
Você especificaa atributos em nível de módulo usando uma sintaxe semelhante:
<Module: Attribute1, Module: Attribute2..., Module: AttributeN>
Você adiciona atributos globais no código-fonte após quaisquer diretivas de nível superior, como instruções Option Explicit e Imports , mas antes de quaisquer declarações de namespace ou tipo.Atributos globais podem aparecem em vários arquivos fonte em um projeto, mas eles geralmente são colocados no arquivo AssemblyInfo.vb criado automaticamente com projetos Visual Basic.
Atributos de Conjunto de Módulos (Assembly) são valores que fornecem informações sobre um conjunto.Elas se enquadram nas categorias a seguir:
Atributos de identidade de Conjunto de Módulos (Assembly)
Atributos informativos
Atributos do manifesto do assembly
Atributos de nome de alta segurança
Atributos de identidade de Assembly
Três atributos (com um nome forte, se aplicável) determinar a identidade de um assembly: nome, versão e cultura.Esses atributos formam o nome completo do conjunto de módulos (assembly) e são necessários quando você referencia a ele em código.Você pode definir uma versão e cultura de um conjunto de módulos (assembly) usando atributos.No entanto, o valor do nome é definido pelo compilador, a IDE do Visual Studio na Caixa de diálogo Assembly Information, ou o Assembly Linker (AL.exe) quando o conjunto é criado, com base no arquivo que contém o manifesto do assembly.O atributo AssemblyFlagsAttribute especifica se várias cópias do conjunto podem coexistir.
A tabela a seguir mostra os atributos de identidade.
Atributo |
Objetivo |
---|---|
Descreve totalmente a identidade de um conjunto de módulos (assembly). |
|
Especifica a versão de um conjunto de módulos (assembly). |
|
Especifica a qual cultura o conjunto de módulos (assembly) oferece suporte. |
|
Especifica se um conjunto de módulos (assembly) oferece suporte à execução lado a lado no mesmo computador, no mesmo processo, ou no mesmo domínio do aplicativo. |
O código a seguir aplica os atributos de versão e de cultura a um conjunto de módulos (assembly):
'Set version number for assembly.
<Assembly: Reflection.AssemblyVersionAttribute("4.3.2.1")>
'Set culture as German.
<Assembly: Reflection.AssemblyCultureAttribute("de")>
Atributos Informativos
Você pode usar atributos informativos para fornecer informações adicionais sobre empresas ou produtos para um conjunto de módulos (assembly).A tabela a seguir mostra os atributos informativos definidos no namespace System.Reflection.
Atributo |
Objetivo |
---|---|
Define um atributo personalizado que especifica um nome de produto para um manifesto do assembly. |
|
Define um atributo personalizado que especifica uma marca comercial para um manifesto do assembly. |
|
Define um atributo personalizado que especifica uma versão informacional para um manifesto do assembly. |
|
Define um atributo personalizado que especifica um nome de empresa para um manifesto do assembly. |
|
Define um atributo personalizado que especifica um copyright para um manifesto do assembly. |
|
Instrui o compilador a usar um número de versão específico para o recurso de versão de arquivo Win32. |
|
Indica se o assembly é compatível com a CLS (Common Language Specification) (CLS). |
Atributos do manifesto do assembly
Você pode usar atributos do manifesto do assembly para fornecer informações no manifesto do assembly.Isso inclui Título, Descrição, alias padrão e a configuração.A tabela a seguir mostra os atributos do manifesto do assembly definidos no namespace System.Reflection.
Atributo |
Objetivo |
---|---|
Define um atributo personalizado que especifica um título de assembly para um manifesto do assembly. |
|
Define um atributo personalizado que especifica uma descrição de assembly para um manifesto do assembly. |
|
Define um atributo personalizado que especifica uma configuração de conjunto de módulos (assembly) (como varejo ou depuração) para um manifesto do assembly. |
|
Define um alias amigável padrão para um manifesto do assembly |
Atributos de nome de alta segurança
Nomes de alta segurança são identificadores únicos que protegem a identidade e integridade de um conjunto de módulos (assembly).Você pode assinar um conjunto de módulos (assembly) da IDE do Visual Studiopor meio de Assinatura de Página, o criador do projeto.Para obter mais informações, consulte Gerenciando Assinatura de Assembly e Manifesto.
Como alternativa, você pode usar atributos de nome de alta segurança para definir um nome forte para um conjunto de módulos (assembly).A tabela a seguir mostra os atributos de nome de alta segurança definidos no namespace System.Reflection.
Atributo |
Objetivo |
---|---|
Booleano que indica se você deseja reservar espaço no arquivo executável para a assinatura de nome forte, mas adiar a assinatura real até alguns estágios posteriores.Para obter mais informações, consulte Atraso na Assinatura de um Assembly. |
|
Indica o arquivo que contém uma chave.O local do KeyFile deve ser relativo ao diretório de saída do projeto, que é %Project Directory%\obj\<configuration>.Por exemplo, se seu KeyFile estiver localizado no diretório do projeto, você deve especificar o atributo AssemblyKeyFile como assembly: AssemblyKeyFile("..\\..\\mykey.snk")] |
|
Refere-se a uma chave que foi instalada no provedor de serviço de criptografia (CSP - Crypto Service Provider) no seu computador.Você deve especificar uma chave na ordem para o arquivo a ser assinado. |
Se o KeyFile e os valores de KeyName forem ambos especificados, o processamento seguinte ocorre:
Se o KeyName pode ser encontrado no provedor de serviços de criptografia, essa chave é usada.
Se o keyName não existe e e o KeyFile existe, a chave de KeyFile é instalada no provedor de serviços de criptografia e usada.
Para obter mais informações, consulte Considerações Sobre Segurança do Assembly.
Assinando conjuntos de módulos (assemblies)
Você pode assinar um assembly de duas maneiras diferentes mas complementares: com um nome forte ou com a assinatura.Você pdoe assinar usando a opção Assinatura de Página, o criador do projeto da IDE Visual Studio ou usando o Arquivo Autenticando ferramenta (Signcode.exe).Quando você assina um assembly com um nome forte, ele adiciona uma criptografia de chave pública ao arquivo que contém o manifesto do assembly.Assinatura de nome forte ajuda a verificar exclusividade de nome, a evitar falsificação de nome, e fornece chamadores com alguma identidade quando uma referência é resolvida.Para obter mais informações, consulte Gerenciando Assinatura de Assembly e Manifesto e Como: Assinar um assembly com um nome forte.
Assinar um assembly com um nome de alta segurança
Use o Ferramenta Strong Name (Sn.exe) para gerar um arquivo de chave que contém um par de chaves.
Adicione atributos de nome forte ao arquivo AssemblyInfo.vb criado automaticamente com os projetos do Visual Basic.Para editar esse arquivo, clique duas vezes no nome de arquivo na caixa Gerenciador de Soluções .
O exemplo a seguir usa atraso de assinatura para criar um conjunto de módulos (assembly) de nome de alta segurança com um arquivo de chave pública que é chamado de myKey.snk.
<Assembly: Reflection.AssemblyKeyFile("myKey.snk")> <Assembly: Reflection.AssemblyDelaySign(True)>
Observação: Os atributos em nível de assembly são ignorados se você não blogg e um assembly, sistema autônomo Quando você compilar a partir da linha de comando Por usando o /target:module opção.
Consulte também
Tarefas
Como: Definir seus próprios atributos
Como: Assinar um assembly com um nome forte
Conceitos
Considerações Sobre Segurança do Assembly
Referência
Ferramenta Strong Name (Sn.exe)
Arquivo Autenticando ferramenta (Signcode.exe)
Assinatura de Página, o criador do projeto
Caixa de diálogo Assembly Information
Outros recursos
Atributos personalizados no Visual Basic