Global Assembly Cache (GAC)

Autor: Peter Berry
Erstelldatum: 19 August 2021
Aktualisierungsdatum: 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

Inhalt

Definition - Was bedeutet Global Assembly Cache (GAC)?

Der Global Assembly Cache (GAC) ist ein Ordner im Windows-Verzeichnis zum Speichern der .NET-Assemblys, die speziell für die gemeinsame Nutzung durch alle auf einem System ausgeführten Anwendungen vorgesehen sind.


Das Konzept von GAC ist das Ergebnis der .NET-Architektur, deren Entwurf das Problem der "DLL-Hölle" behandelt, das in COM (Component Object Model) existierte. Anders als in COM muss die Assembly in GAC nicht registriert werden, bevor sie verwendet wird. Auf jede Assembly kann global ohne Konflikte zugegriffen werden, indem Name, Version, Architektur, Kultur und öffentlicher Schlüssel identifiziert werden.

Eine Einführung in Microsoft Azure und die Microsoft Cloud | In diesem Handbuch erfahren Sie, worum es beim Cloud-Computing geht und wie Microsoft Azure Sie bei der Migration und Ausführung Ihres Unternehmens aus der Cloud unterstützen kann.

Techopedia erklärt Global Assembly Cache (GAC)

Der GAC ist ein maschinenweiter Code-Cache, der für die parallele Ausführung von Assemblys verwendet wird. Der GAC implementiert die Funktion der gemeinsam genutzten Bibliothek, bei der verschiedene Anwendungen den Code wiederverwenden, der in den Dateien in einem gemeinsamen Ordner gespeichert ist. In .NET 4.0 lautet der Standardspeicherort:% windir% Microsoft.NET assembly

Der GAC ist auch der erste im Suchpfad beim Laden einer .NET-Assembly. Die einzige Voraussetzung für die Bereitstellung einer Assembly in GAC ist, dass sie einen starken Namen hat. Die CLR (Common Language Runtime) verweist auf eine Assembly, die auf einer bestimmten Version basiert, die von der aufrufenden Anwendung erwähnt wird. Das virtuelle Dateisystem von GAC hilft beim Abrufen der versionsspezifischen Assembly.

Die beiden mit GAC verbundenen Tools sind GAC Tool (gacutil.exe) und Assembly Cache Viewer (shfusion.dll). Mit dem GAC-Tool können Sie das Vorhandensein von Assemblys überprüfen, eine freigegebene Assembly registrieren, Inhalte von GAC anzeigen und bearbeiten usw. Als Systemordner sind Administratorrechte erforderlich. Der Assembly Cache Viewer wird verwendet, um die Details (Version, Kultur usw.) anzuzeigen, die den im Cache enthaltenen Assemblys zugeordnet sind.

GAC bietet die Vorteile der Wiederverwendung von Code und der Dateisicherheit (aufgrund der Installation im Verzeichnis "systemroot" und daher nur für Benutzer mit Administratorrechten) sowie der gleichzeitigen Ausführung (wobei mehrere Versionen einer Assembly im selben Ordner verwaltet werden können) ), usw.

Einer der Nachteile bei der Verwendung von GAC besteht darin, dass die Version von .NET Framework, die auf dem System installiert ist, auf dem GAC verwendet wird, und die Version, die zum Kompilieren der Anwendung verwendet wird, identisch sein müssen. Starke Namen können auch nicht auf Assemblys angewendet werden (wie Code von Drittanbietern), von denen die Assemblys abhängen, die sich im GAC-Ordner befinden.