Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Observação
Este artigo é específico do .NET Framework. Ele não se aplica a implementações mais recentes do .NET, incluindo o .NET 6 e versões posteriores.
Se você pretende compartilhar um assembly entre vários aplicativos, você pode instalá-lo no cache de assembly global. Cada computador onde o common language runtime está instalado tem esse cache de código em toda a máquina. O cache de assembly global armazena assemblies especificamente designados para serem compartilhados por vários aplicativos no computador. Uma assemblagem deve ter um nome forte para ser instalada no armazenamento de assemblagens globais.
Observação
Os conjuntos colocados no caché global de conjuntos devem ter o mesmo nome do conjunto e nome de arquivo (não incluindo a extensão do nome de arquivo). Por exemplo, um assembly com o nome de assembly myAssembly deve ter um nome de arquivo de myAssembly.exe ou myAssembly.dll.
Você deve compartilhar assemblies instalando-os apenas no armazenamento global de assemblies quando necessário. Como diretriz geral, mantenha as dependências de assembly privadas e localize assemblies no diretório do aplicativo, a menos que o compartilhamento de um assembly seja explicitamente necessário. Além disso, não é necessário instalar assemblies no cache de assembly global para torná-los acessíveis à interoperabilidade COM ou ao código não gerenciado.
Há várias razões pelas quais você pode querer instalar um assembly no cache de assembly global:
Localização partilhada.
Os assemblies que devem ser usados pelos aplicativos podem ser colocados no cache global de assemblies. Por exemplo, se todas as aplicações devem usar um conjunto localizado no cache global de conjunto, uma declaração de política de versão pode ser adicionada ao arquivo de Machine.config que redireciona as referências ao conjunto.
Segurança de ficheiros.
Os administradores geralmente protegem o diretório raiz do sistema usando uma Lista de Controle de Acesso (ACL) para controlar, gravar e executar o acesso. Como o cache de assembly global é instalado no diretório raiz do sistema, ele herda a ACL desse diretório. É recomendável que apenas usuários com privilégios de administrador tenham permissão para excluir arquivos do cache de assembly global.
Controle de versões simultâneas.
Podem ser mantidas múltiplas cópias de assemblies com o mesmo nome, mas com diferentes informações de versão, no cache global de assemblies.
Local de pesquisa adicional.
O tempo de execução de linguagem comum verifica o cache global de assemblies à procura de um assembly que corresponda ao pedido de assembly antes de examinar ou usar as informações do codebase num ficheiro de configuração.
Observe que há cenários em que você explicitamente não deseja instalar um assembly no cache de assembly global. Se você colocar um dos assemblies que compõem um aplicativo no cache de assembly global, não poderá mais replicar ou instalar o aplicativo usando XCOPY para copiar o diretório do aplicativo. Nesse caso, você também deve mover o assembly para o cache de assembly global.
Na presente seção
Como instalar uma assemblagem no cache de assemblagem global Descreve as maneiras de instalar uma assemblagem no cache de assemblagem global.
Como: Exibir o conteúdo do cache de assembly global Explica como usar o Gacutil.exe (Global Assembly Cache Tool) para exibir o conteúdo do cache de assembly global.
Como remover um assembly do cache de assembly global Explica como usar o Gacutil.exe (Global Assembly Cache Tool) para remover um assembly do cache de assembly global.
Usando componentes com manutenção com o cache de montagem global Explica por que os componentes com manutenção (componentes COM+ gerenciados) devem ser colocados no cache de montagem global.
Seções relacionadas
Criando assemblies Fornece uma visão geral da criação de assemblies.
Cache Global de Assembly Descreve o cache global de assembly.
Como visualizar o conteúdo do assembly Explica como usar o Ildasm.exe (IL Disassembler) para exibir informações de linguagem intermédia comum (CIL) em um assembly.
Como o common language runtime localiza assemblies Descreve como o common language runtime localiza e carrega os assemblies que compõem a sua aplicação.
Programação com Assemblies Descreve assemblies, as partes fundamentais de aplicativos gerenciados.