Como instalar um assembly no cache global de assemblies no Visual Basic .NET ou no Visual Basic 2005

Traduções deste artigo Traduções deste artigo
ID do artigo: 315682 - Exibir os produtos aos quais esse artigo se aplica.
Expandir tudo | Recolher tudo

Neste artigo

Sumário

Este artigo descreve como para gerar um nome forte para um assembly e para instalar um arquivo .dll no cache global de assemblies. O cache de assembly global (GAC) permite que você compartilhar assemblies em diversos aplicativos. O GAC é instalado automaticamente com o .NET runtime. Componentes normalmente são armazenados em C:\WINNT\Assembly.

Para instalar um assembly no GAC, você deve fornecer o assembly um forte (ou seja, identificador global exclusivo) nome. Na verdade, não é um nome, mas um hash criptográfico de chave ou assinatura. O nome forte garante a versão correta do componente, que ajuda a impedir que os componentes que têm o mesmo nome entrem em conflito com outro ou incorretamente sendo usado por um aplicativo consome.

Requisitos

Os seguintes itens descrevem recomendado de hardware, software, infra-estrutura de rede, habilidades e conhecimento e service packs que você precisa:
  • Direitos de administrador para o computador no qual o assembly compartilhado está sendo instalado
Conhecimento prévio necessário:
  • Geral familiaridade com assemblies no .NET
  • Geral familiaridade com o uso das ferramentas do prompt de linha de comando

Cache global de assemblies

Para criar um pequeno projeto Class Library usando o Visual Studio .NET ou Visual Studio 2005, para gerar um nome forte e para instalar o arquivo de .dll do projeto no cache global de assemblies, execute essas etapas:
  1. Abra Visual Studio .NET ou Visual Studio 2005.
  2. Crie um novo projeto Class Library chamado GAC em Visual Basic.NET ou em Visual Basic 2005.
  3. É necessário um nome de alta segurança. Para gerar esse par de chaves criptográfica, use a ferramenta SN, que é localizado no subdiretório \bin, onde o Solution Developer Kit (SDK) do .NET Framework está instalado. A ferramenta SN é muito fácil de usar. A instrução de linha de comando assume a forma a seguir:
    sn -k "C:\[DirectoryToPlaceKey]\[KeyName].snk"
  4. Para sua conveniência, crie um diretório chamado GACDemo em C:\ para que você possa facilmente localize a chave e acessar a chave a partir do prompt de comando.

    Observação : para a maioria dos usuários, as ferramentas do .NET estão localizadas em C:\Program Files\Microsoft.NET\FrameworkSDK\Bin. Antes de digitar o seguinte comando SN, convém copiar esse caminho semelhante no seu computador para o diretório bin .NET, digite cd a partir do prompt de comando, clique com o botão direito do mouse para colar o caminho e pressione ENTER para alterar rapidamente o diretório onde a ferramenta SN está localizada.

    Digite o seguinte:
    sn -k "C:\GACDemo\GACkey.snk"
    Observação No .NET Framework 2.0, as ferramentas do .NET estão localizadas na pasta C:\Program Files\Microsoft.NET\SDK\v2.0\Bin.
  5. Uma chave é gerada, mas ele ainda não está associado ao assembly do projeto. Para criar essa associação, clique duas vezes no arquivo AssemblyInfo.vb na Visual Studio .NET ou Visual Studio 2005 Solution Explorer. Adicione o seguinte à lista de atributos do assembly que estão incluídos neste arquivo por padrão quando um projeto é criado no Visual Studio .NET ou no Visual Studio 2005:
    < assembly: AssemblyKeyFile("C:\GACDemo\GACKey.snk") >
    Compile o projeto, clicando em CTRL + SHIFT + B. Nenhum código adicional é necessário neste momento para instalar um arquivo .dll no GAC.
  6. Você pode instalar o arquivo .dll usando a ferramenta Gacutil ou arrastando o arquivo .dll para o diretório apropriado. Se você usar a ferramenta Gacutil, você pode usar o comando a seguir:
    gacutil - me "C:\[PathToBinDirectoryInVSProject]\gac.dll"
    Se você deseja arrastar o arquivo, use o Microsoft Windows Explorer. Abra duas instâncias do Windows Explorer. Em um, navegue até o local da saída de arquivo .dll para seu projeto de console. Em outras, navegue até c:\[SystemRoot]\Assembly.

    Arraste o arquivo .dll para a pasta.

Concluir código listagem (AssemblyInfo.vb)

Imports System.Reflection
Imports System.Runtime.InteropServices

<Assembly: AssemblyTitle("")> 
<Assembly: AssemblyDescription("")> 
<Assembly: AssemblyCompany("")> 
<Assembly: AssemblyProduct("")> 
<Assembly: AssemblyCopyright("")> 
<Assembly: AssemblyTrademark("")> 
<Assembly: CLSCompliant(True)> 
<Assembly: AssemblyKeyFile("C:\GACDemo\GACKey.snk")> 

<Assembly: Guid("E3492A62-5389-4286-94A3-1331CC29EA6D")> 
<Assembly: AssemblyVersion("1.0.*")> 
				

Verificação

  1. Inicie o Windows Explorer.
  2. Navegue até C:\WINNT\assembly.
  3. Localize GAC na lista dos arquivos .dll instalados.

REFERÊNCIAS

Para obter mais informações, visite os seguintes sites:
Instalar um assembly no cache global de assemblies
http://msdn2.microsoft.com/en-us/library/dkkx7f79(vs.71).aspx
Cache global de assemblies
http://msdn2.microsoft.com/en-us/library/yf1d93sz(vs.71).aspx

Global assembly Cache Tool http://msdn2.microsoft.com/en-us/library/ex0ss12c(vs.71).aspx

Propriedades

ID do artigo: 315682 - Última revisão: sexta-feira, 11 de maio de 2007 - Revisão: 6.8
A informação contida neste artigo aplica-se a:
  • Microsoft Visual Basic 2005
  • Microsoft Visual Basic .NET 2003 Standard Edition
  • Microsoft Visual Basic .NET 2002 Standard Edition
  • Microsoft Visual Studio .NET 2002 Professional Edition
  • Microsoft ASP.NET 1.1
  • Microsoft ASP.NET 1.0
Palavras-chave: 
kbmt kbvs2005swept kbvs2005applies kbhowtomaster KB315682 KbMtpt
Tradução automática
IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine Translation ou MT), não tendo sido portanto traduzido ou revisto por pessoas. A Microsoft possui artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais, com o objetivo de oferecer em português a totalidade dos artigos existentes na base de dados de suporte. No entanto, a tradução automática não é sempre perfeita, podendo conter erros de vocabulário, sintaxe ou gramática. A Microsoft não é responsável por incoerências, erros ou prejuízos ocorridos em decorrência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza atualizações freqüentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 315682

Submeter comentários

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com