Instalar um assembly no cache de assembly global .NET Framework

Este artigo descreve como instalar um assembly .dll arquivo 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 de KB original: 910355

Resumo

Para instalar um arquivo de assembly .dll no cache de assembly global .NET Framework, você pode usar a ferramenta .NET Framework Cache de Assembly Global do SDK. Você também pode usar a ferramenta Cache do 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 .NET Framework.

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

Global assembly cache

O cache de assembly global .NET Framework é um cache de código. O cache de assembly global é instalado automaticamente em cada computador que tem o .NET Framework runtime de linguagem comum instalado. Qualquer aplicativo instalado no computador pode acessar o cache de assembly global. O cache de assembly global armazena assemblies que são designados para serem compartilhados por vários aplicativos no computador. Os assemblies de componente normalmente são armazenados na C:\WINNT\Assembly pasta.

Observação

Instale apenas um assembly no cache de assembly global quando precisar compartilhar o assembly. A menos que o compartilhamento de um assembly seja explicitamente necessário, recomendamos manter as dependências do assembly privadas e localizar o assembly no diretório do aplicativo. Além disso, você não precisa instalar um assembly no cache de assembly global para disponibilizar o assembly para o interoperabilidade com o Modelo de Objeto do Microsoft Component (COM) ou para o código não gerenciado.

Um assembly

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

Um assembly contém um ou mais componentes de código que o runtime de linguagem comum 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 especificadas para quaisquer assemblies dependentes. Usando um assembly, você pode especificar regras de versão entre diferentes componentes de software e pode ter essas regras impostas 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 exclusiva 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 do assembly associa um nome forte a um assembly. A assinatura do 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 de versão do assembly
  • As informações de cultura sobre o assembly, se essas informações forem fornecidas
  • Uma chave pública e um par de chaves privadas

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

Você pode assinar um assembly usando as opções na guia Assinatura do Project Designer 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 do Troca de Informações Pessoais (.pfx)
  • Arquivos strong name key (.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 .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 é baseado 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 Localização, digiteC:\DemoProjects.
    7. Desmarque a caixa Criar diretório para a solução marcar e selecione Salvar.
  2. Gere um nome forte e associe o arquivo de chave de nome forte junto com o assembly. Para fazer isso, siga estas etapas:

    1. No menu Projeto , selecione Propriedades 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, selecione o arquivo Proteger minha chave com uma senha marcar caixa.

    5. Na caixa Nome do arquivo 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 .NET Framework está instalado.
    3. Em um prompt de comando, digite o gacutil -I "C:\DemoProjects\GACDemo\bin\Release\GACDemo.dll" comando 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 .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