Global Assembly Cache (GAC)

Autore: Peter Berry
Data Della Creazione: 19 Agosto 2021
Data Di Aggiornamento: 22 Giugno 2024
Anonim
What is GAC  How and when to install an assembly into GAC
Video: What is GAC How and when to install an assembly into GAC

Contenuto

Definizione - Cosa significa Global Assembly Cache (GAC)?

Global Assembly Cache (GAC) è una cartella nella directory di Windows in cui vengono archiviati gli assembly .NET specificatamente designati per essere condivisi da tutte le applicazioni eseguite su un sistema.


Il concetto di GAC è il risultato dell'architettura .NET il cui design affronta il problema di "inferno DLL" esistente in COM (Component Object Model). A differenza di COM, non è necessario che l'assemblaggio in GAC sia registrato prima del suo utilizzo. Ogni assembly è accessibile a livello globale senza alcun conflitto identificando il suo nome, versione, architettura, cultura e chiave pubblica.

Un'introduzione a Microsoft Azure e Microsoft Cloud | In questa guida imparerai cos'è il cloud computing e in che modo Microsoft Azure può aiutarti a migrare e gestire la tua azienda dal cloud.

Techopedia spiega Global Assembly Cache (GAC)

GAC è una cache di codice a livello di macchina utilizzata per l'esecuzione affiancata di assiemi. Il GAC implementa la funzione di libreria condivisa in cui diverse applicazioni riutilizzano il codice inserito nei file situati in una cartella comune. In .NET 4.0, la posizione predefinita è:% windir% Microsoft.NET assembly

Il GAC è anche il primo nel percorso di ricerca durante il caricamento di un assembly .NET. L'unico requisito per distribuire un assembly in GAC è che dovrebbe avere un nome sicuro. Il CLR (Common Language Runtime) fa riferimento a un assembly basato sulla versione specifica menzionata dall'applicazione chiamante. Il file system virtuale di GAC aiuta a recuperare l'assembly specifico della versione.

I due strumenti correlati a GAC ​​sono GAC Tool (gacutil.exe) e Assembly Cache Viewer (shfusion.dll). GAC Tool viene utilizzato per verificare l'esistenza dell'assembly, registrare un assembly condiviso, visualizzare e manipolare i contenuti di GAC, ecc. Essendo una cartella di sistema, richiede l'utilizzo dei privilegi di amministratore. Assembly Cache Viewer viene utilizzato per visualizzare i dettagli (versione, cultura, ecc.) Associati agli assembly contenuti nella cache.

GAC offre i vantaggi del riutilizzo del codice, della sicurezza dei file (a causa della sua installazione nella directory 'systemroot' e quindi la cancellazione è solo da parte degli utenti con privilegi di amministratore), esecuzione affiancata (consentendo più versioni di un assembly mantenute nella stessa cartella ), eccetera.

Uno degli svantaggi dell'utilizzo di GAC è che la versione di .NET Framework installata nel sistema in cui viene utilizzato GAC e quella utilizzata per la compilazione dell'applicazione deve essere la stessa. Inoltre, i nomi sicuri non possono essere applicati agli assembly (come il codice di terze parti) da cui dipendono gli assembly che risiedono nella cartella GAC.