Global Assembly Cache (GAC)

Schrijver: Peter Berry
Datum Van Creatie: 19 Augustus 2021
Updatedatum: 1 Juli- 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

Inhoud

Definitie - Wat betekent Global Assembly Cache (GAC)?

De Global Assembly Cache (GAC) is een map in de Windows-map om de .NET-assemblages op te slaan die specifiek zijn aangewezen om te worden gedeeld door alle toepassingen die op een systeem worden uitgevoerd.


Het concept van GAC is het resultaat van de .NET-architectuur waarvan het ontwerp het probleem van "DLL hell" aanpakt dat in COM (Component Object Model) bestond. In tegenstelling tot COM hoeft de assemblage niet in GAC te worden geregistreerd voordat deze kan worden gebruikt. Elke assemblage is wereldwijd toegankelijk zonder enig conflict door de naam, versie, architectuur, cultuur en publieke sleutel te identificeren.

Een inleiding tot Microsoft Azure en de Microsoft Cloud | In deze handleiding leert u wat cloud computing inhoudt en hoe Microsoft Azure u kan helpen bij het migreren en runnen van uw bedrijf vanuit de cloud.

Techopedia verklaart Global Assembly Cache (GAC)

De GAC is een machine-brede codecache die wordt gebruikt voor het naast elkaar uitvoeren van assemblages. De GAC implementeert de functie van gedeelde bibliotheek waarbij verschillende toepassingen de code hergebruiken die in de bestanden in een gemeenschappelijke map is geplaatst. In .NET 4.0 is de standaardlocatie:% windir% Microsoft.NET assembly

De GAC is ook de eerste in het zoekpad tijdens het laden van een .NET-assemblage. De enige vereiste voor een assemblage in GAC is dat deze een sterke naam moet hebben. De CLR (Common Language Runtime) verwijst naar een assemblage op basis van de specifieke versie die wordt genoemd door de aanroepende toepassing. Het virtuele bestandssysteem van GAC helpt bij het ophalen van de versie-specifieke assemblage.

De twee tools gerelateerd aan GAC zijn GAC Tool (gacutil.exe) en Assembly Cache Viewer (shfusion.dll). GAC Tool wordt gebruikt om te controleren of er assemblage bestaat, registreert een gedeelde assemblage, bekijkt en manipuleert de inhoud van GAC, enz. Omdat het een systeemmap is, moeten beheerdersrechten worden gebruikt. Assembly Cache Viewer wordt gebruikt om de details (versie, cultuur, etc.) weer te geven die zijn gekoppeld aan de assemblies in de cache.

GAC biedt de voordelen van codehergebruik, bestandsbeveiliging (vanwege de installatie in de map 'systemroot' en dus verwijdering alleen door gebruikers met beheerdersrechten), naast elkaar uitvoeren (waardoor meerdere versies van een assemblage in dezelfde map kunnen worden beheerd) ), enzovoort.

Een van de nadelen van het gebruik van GAC is dat de versie van .NET Framework die is geïnstalleerd in het systeem waar GAC wordt gebruikt en de versie die wordt gebruikt voor het compileren van de toepassing, dezelfde moet zijn. Ook kunnen geen sterke namen worden toegepast op merken (zoals code van derden) waarvan de merken in de GAC-map afhankelijk zijn.