Ich suche nur einen kurzen Überblick über GAC für einen Laien, bitte keinen Link.
187
Richtig, im Grunde ist es eine Möglichkeit, DLLs global zugänglich zu halten, ohne sich um Konflikte sorgen zu müssen. Keine DLL-Hölle mehr. Jede Architektur und Version bekommt ihren eigenen Wohnort.
Es gibt auch eine eigene Möglichkeit, es im Explorer zu durchsuchen
C: \ Windows \ Assembly
Im Windows Explorer werden alle DLLs aufgelistet.
Aber wenn Sie starten cmd
, können Sie sehen, wie es wirklich strukturiert ist:
C: \ Benutzer \ Tritter> CD C: \ Windows \ Assembly C: \ Windows \ Assembly> Verzeichnis Verzeichnis von C: \ Windows \ Assembly 20.07.2009 14:18 <DIR> GAC 17.06.2009 16:22 <DIR> GAC_32 17.06.2009 16:22 <DIR> GAC_64 17.06.2009 16:22 <DIR> GAC_MSIL ... schnipsen ... 0 Datei (en) 0 Bytes 9 Dir (s) 90.538.311.680 Bytes frei C: \ Windows \ Assembly> CD GAC_64 C: \ Windows \ Assembly \ GAC_64> Verzeichnis Verzeichnis von C: \ Windows \ Assembly \ GAC_64 17.06.2009 16:22 <DIR>. 17.06.2009 16:22 <DIR> .. 19.01.2008 09:54 <DIR> blbproxy ... schnipsen ... 19.01.2008 09:54 <DIR> srmlib 19.01.2008 06:11 <DIR> System.Data 19.01.2008 06:11 <DIR> System.Data.OracleClient ... schnipsen ... 0 Datei (en) 0 Bytes 34 Dir (s) 90.538.311.680 Bytes frei C: \ Windows \ Assembly \ GAC_64> CD System.Data C: \ Windows \ Assembly \ GAC_64 \ System.Data> Verzeichnis Verzeichnis von C: \ Windows \ Assembly \ GAC_64 \ System.Data 19.01.2008 06:11 <DIR>. 19.01.2008 06:11 <DIR> .. 04/11/2009 12:20 PM <DIR> 2.0.0.0__b77a5c561934e089 0 Datei (en) 0 Bytes 3 Dir (s) 90.538.311.680 Bytes frei C: \ Windows \ Assembly \ GAC_64 \ System.Data> cd 2.0.0.0__b77a5c561934e089 C: \ Windows \ Assembly \ GAC_64 \ System.Data \ 2.0.0.0__b77a5c561934e089> dir Verzeichnis von C: \ Windows \ Assembly \ GAC_64 \ System.Data \ 2.0.0.0__b77a5c561934e089 11.04.2009 12:20 <DIR>. 04/11/2009 12:20 PM <DIR> .. 04/11/2009 12:12 PM 3,008,512 System.Data.dll 1 Datei (en) 3.008.512 Byte 2 Dir (s) 90.538.311.680 Bytes frei C: \ Windows \ Assembly \ GAC_64 \ System.Data \ 2.0.0.0__b77a5c561934e089>
Hier sehen Sie die Version 2.0.0.0__b77a5c561934e089 von System.Data.
Eine DLL besteht aus 5 Teilen:
Obwohl die ersten 3 im Allgemeinen die großen sind.
GAC = Global Assembly Cache
Lassen Sie es uns zusammenfassen:
Der GAC muss also ein Ort zum Speichern von Codebibliotheken sein, damit alle Anwendungen auf dem Computer darauf zugreifen können.
quelle
Globaler Assembly-Cache
Die Dinge, die MSDN enthält, können Sie überraschen ... Sie können es normalerweise wie einen Artikel lesen. Die unkomplizierten und wichtigsten Punkte oben, die komplizierten Details tiefer unten. Es erklärt es sicherlich besser als ich könnte.
Beachten Sie, dass Visual Studio alle DLLs im GAC auf der Registerkarte .NET des Referenzfensters anzeigt . (Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf ein Projekt und wählen Sie Referenz hinzufügen.) Dies sollte Ihnen eine greifbarere Vorstellung geben.
quelle
Zentralisierte DLL-Bibliothek.
quelle
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. Baugruppen können von mehreren Anwendungen auf dem Computer gemeinsam genutzt werden, indem sie im globalen Assemblycache (GAC) registriert werden. GAC ist ein maschinenweiter lokaler Cache von Assemblys, die von .NET Framework verwaltet werden.
quelle
Exe Application verweist zunächst aus einem aktuellen Verzeichnis auf ein Unterverzeichnis. Und dann das Systemverzeichnis. Das VS6.0-Systemverzeichnis war ..windows / system32. Das .NET-Systemverzeichnis entspricht dem folgenden GAC-Pfad.
GAC-Pfad
1) C: \ Windows \ Assembly (für .NET 2.0 ~ 3.5)
2) C: \ Windows \ Microsoft.NET \ Assembly (für .NET 4.0)
So installieren Sie eine Assembly in GAC (als Administrator)
1) Ziehen und Ablegen
2) Verwenden Sie GacUtil.exe mit der Visual Studio-Eingabeaufforderung
So deinstallieren Sie eine Assembly von GAC (als Administrator)
quelle
Es ist wie bei der COM-Registrierung, die in Bezug auf die physischen Dateien sowie deren Schnittstellen- und Standortinformationen richtig durchgeführt wurde. In COM befanden sich überall Dateien mit zentralisierten Metadaten. Das GAC zentralisiert den Knallschuss.
quelle
In GAC (Global Assembly Cache) befinden sich alle gemeinsam genutzten .NET-Assemblys.
quelle