Cache de montagem global (GAC)

Autor: Peter Berry
Data De Criação: 19 Agosto 2021
Data De Atualização: 1 Julho 2024
Anonim
What is GAC  How and when to install an assembly into GAC
Vídeo: What is GAC How and when to install an assembly into GAC

Contente

Definição - O que significa Global Assembly Cache (GAC)?

O Global Assembly Cache (GAC) é uma pasta no diretório do Windows para armazenar os assemblies .NET especificamente designados para serem compartilhados por todos os aplicativos executados em um sistema.


O conceito do GAC é o resultado da arquitetura .NET cujo design trata do problema do "DLL hell" que existia no COM (Component Object Model). Diferente do COM, não é necessário registrar o assembly no GAC antes de usá-lo. Cada assembly é acessado globalmente sem nenhum conflito, identificando seu nome, versão, arquitetura, cultura e chave pública.

Uma introdução ao Microsoft Azure e Microsoft Cloud | Neste guia, você aprenderá sobre o que é a computação em nuvem e como o Microsoft Azure pode ajudá-lo a migrar e administrar seus negócios a partir da nuvem.

Techopedia explica Global Assembly Cache (GAC)

O GAC é um cache de código para toda a máquina usado para execução lado a lado de assemblies. O GAC implementa o recurso de biblioteca compartilhada, em que diferentes aplicativos reutilizam o código colocado nos arquivos localizados em uma pasta comum. No .NET 4.0, seu local padrão é:% windir% Microsoft.NET assembly

O GAC também é o primeiro no caminho de pesquisa ao carregar um assembly .NET. O único requisito para que um assembly seja implantado no GAC é que ele tenha um nome forte. O CLR (Common Language Runtime) refere-se a um assembly com base na versão específica mencionada pelo aplicativo de chamada. O sistema de arquivos virtual do GAC ajuda a buscar o assembly específico da versão.

As duas ferramentas relacionadas ao GAC são a GAC ​​Tool (gacutil.exe) e o Assembly Cache Viewer (shfusion.dll). A ferramenta GAC ​​é usada para verificar a existência de montagem, registrar uma montagem compartilhada, exibir e manipular o conteúdo do GAC, etc. Sendo uma pasta do sistema, ela requer privilégios de administrador. O Assembly Cache Viewer é usado para exibir os detalhes (versão, cultura etc.) associados aos assemblies contidos no cache.

O GAC oferece os benefícios da reutilização de código, segurança de arquivos (devido à instalação no diretório 'systemroot' e, portanto, a exclusão é apenas por usuários com privilégios de administrador), execução lado a lado (permitindo que várias versões de um assembly sejam mantidas na mesma pasta ) etc.

Uma das desvantagens do uso do GAC é que a versão do .NET Framework instalada no sistema em que o GAC é usado e a versão usada para compilar o aplicativo precisam ser as mesmas. Além disso, nomes fortes não podem ser aplicados a assemblies (como código de terceiros) dos quais dependem os assemblies que residem na pasta GAC.