Compartilhar via


Instalar um assembly no cache de assembly global do .NET Framework

Este artigo descreve como instalar um arquivo de .dll assembly no cache de assembly global do Microsoft .NET Framework e criar um assembly que tenha um nome forte usando o Visual Studio.

Versão original do produto: .NET Framework, Visual Studio
Número original do KB: 910355

Resumo

Para instalar um arquivo de .dll assembly no cache de assembly global do .NET Framework, você pode usar a ferramenta Cache de Assembly Global do SDK do .NET Framework. Você também pode usar a ferramenta Cache de Assembly Global para verificar se o assembly está instalado no cache de assembly global. Para realizar essa tarefa, você pode ter direitos de administrador para o computador em que o assembly compartilhado está instalado. Além disso, você deve instalar o SDK do .NET Framework.

Para obter uma versão do Visual C# .NET deste artigo, consulte Como instalar um assembly no Cache de Assembly Global no Visual C#.

Cache de assembly global

O cache de assembly global do .NET Framework é um cache de código. O cache de assembly global é instalado automaticamente em cada computador que tem o Common Language Runtime do .NET Framework instalado. Qualquer aplicativo instalado no computador pode acessar o cache de assembly global. O cache de assembly global armazena assemblies designados para serem compartilhados por vários aplicativos no computador. As montagens de componentes são normalmente armazenadas na C:\WINNT\Assembly pasta.

Observação

Instale um assembly no cache de assembly global somente quando precisar compartilhar o assembly. A menos que o compartilhamento de um assembly seja explicitamente necessário, recomendamos que você mantenha as dependências do assembly privadas e localize o assembly no diretório do aplicativo. Além disso, você não precisa instalar um assembly no cache de assembly global para disponibilizá-lo para a interoperabilidade do COM (Component Object Model) da Microsoft ou para o código não gerenciado.

De um assembly

Um assembly é uma parte fundamental da programação com o .NET Framework. Um assembly é um bloco de construção reutilizável e autodescritivo de um aplicativo de tempo de execução de linguagem comum do .NET Framework.

Um assembly contém um ou mais componentes de código que o Common Language Runtime executa. Todos os tipos e todos os recursos no mesmo assembly formam uma versão individual da unidade. O manifesto do assembly descreve as dependências de versão que você especifica para qualquer assembly dependente. Usando um assembly, você pode especificar regras de versão entre diferentes componentes de software e pode impor essas regras em tempo de execução. Um assembly dá suporte à execução lado a lado. O WHich permite que várias versões sejam executadas ao mesmo tempo.

Assinatura de nome forte

Um assembly deve ter um nome forte para ser instalado no cache de assembly global. Um nome forte é uma identidade globalmente única que não pode ser falsificada por outra pessoa. Usando um nome forte, você impede que componentes com o mesmo nome entrem em conflito entre si ou sejam usados incorretamente por um aplicativo de chamada. A assinatura de assembly associa um nome forte a um assembly. A assinatura de assembly também é chamada de assinatura de nome forte. Um nome forte consiste nas seguintes informações:

  • O nome de texto simples do assembly
  • O número da versão do assembly
  • As informações de cultura sobre o assembly, se essas informações forem fornecidas
  • Um par de chaves públicas e privadas

Essas informações são armazenadas em um arquivo de chave. O arquivo de chave é um arquivo .pfx (Personal Information Exchange) ou um certificado do repositório de certificados do Microsoft Windows do usuário atual.

Você pode assinar um assembly usando as opções na guia Assinatura do Designer de Projeto no Visual Studio. No Visual Studio, o arquivo de chave deve ser armazenado na pasta do projeto no computador local. O Visual Studio dá suporte apenas aos seguintes formatos de arquivo:

  • Arquivos de troca de informações pessoais (.pfx)
  • Arquivos de chave de nome forte (.snk)

Requisitos

Você pode atender aos seguintes requisitos antes de instalar um assembly no cache de assembly global:

  • Você deve ter direitos de administrador para o computador em que o assembly compartilhado está instalado.
  • Você deve instalar o SDK do .NET Framework.

Este artigo pressupõe que você esteja familiarizado com os seguintes tópicos:

  • Familiaridade geral com assemblies compartilhados no .NET.
  • Familiaridade geral com o uso de ferramentas em um prompt de comando.

Instalar um assembly no cache de assembly global

Esse método se baseia em como criar um assembly usando o Visual Studio. Para criar um assembly que possa ser compartilhado por vários aplicativos, o assembly compartilhado deve ter um nome forte. Além disso, o assembly compartilhado deve ser implantado no cache de assembly global.

Para criar um pequeno assembly do Visual C# que tenha um nome forte e instalar o arquivo de .dll compilado no cache de assembly global, siga estas etapas:

  1. Crie um novo projeto da Biblioteca de Classes do Visual C# chamado GACDemo. Para fazer isso, siga estas etapas:

    1. Inicie o Visual Studio.
    2. No menu Arquivo, selecione Novo Projeto.
    3. Na lista Modelos, selecione Biblioteca de Classes.
    4. Na caixa Nome, digite GACDemo e selecione OK.
    5. Para salvar o projeto, pressione CTRL+SHIFT+S.
    6. Na caixa Local, digite C:\DemoProjects.
    7. Desmarque a caixa de seleção Criar diretório para solução e selecione Salvar.
  2. Gere um nome forte e associe o arquivo de chave de nome forte ao assembly. Para fazer isso, siga estas etapas:

    1. No menu Projeto , selecione Propriedades do GACDemo.

    2. Na guia Assinatura, marque a caixa de seleção Assinar o assembly.

    3. Em Escolher um arquivo de chave de nome forte, selecione <Novo>.

    4. Na caixa de diálogo Criar Chave de Nome Forte, marque a caixa de seleção Proteger meu arquivo de chave com uma senha .

    5. Na caixa Nome do arquivo de chave, digite GACDemo.

    6. Na caixa Inserir senha , digite a senha que você deseja usar.

    7. Na caixa Confirmar senha, digite a mesma senha e selecione OK.

      Observação

      Recomendamos que você sempre use uma senha ao criar um arquivo de chave. Um novo arquivo de chave protegido por uma senha é sempre criado no formato de arquivo .pfx.

    8. Para compilar o projeto, pressione CTRL+SHIFT+B.

      Observação

      Nenhum código adicional é necessário para instalar um arquivo .dll no cache de assembly global.

  3. Instale o arquivo .dll que você criou na etapa 2 no cache de assembly global usando a ferramenta Cache de Assembly Global. Para fazer isso, siga estas etapas:

    1. Selecione Iniciar, selecione Executar, digite cmd e selecione OK.
    2. Altere o diretório de trabalho atual para o diretório em que o SDK do .NET Framework está instalado.
    3. Em um prompt de comando, digite o comando gacutil -I "C:\DemoProjects\GACDemo\bin\Release\GACDemo.dll" e pressione ENTER.

Verifique se o assembly está instalado no cache de assembly global

Você pode usar a ferramenta Cache de Assembly Global para verificar se o assembly está instalado no cache de assembly global. Para fazer isso, siga estas etapas:

  1. Selecione Iniciar, selecione Executar, digite cmd e selecione OK.

  2. Altere o diretório de trabalho atual para o diretório em que o SDK do .NET Framework está instalado.

  3. Para exibir as informações de instalação sobre o assembly GACDemo, use a ferramenta Cache de Assembly Global. Para fazer isso, digite o gacutil -l GACDemo comando em um prompt de comando e pressione ENTER.

    Observação

    As informações de instalação sobre o assembly GACDemo são exibidas.

Referências