Dateianzeige des GAC im Windows Explorer

Veröffentlicht: 19. Mai 2005

Von Mathias Schiffer

Dieser MSDN Quickie zeigt einen kleinen Kniff, mit dem Sie den Global Assembly Cache (GAC) des .NET Frameworks im Windows Explorer wie einen normalen Ordner anzeigen können. So erhalten Sie Einblick in die physikalische Struktur des GAC.

Zeigen Sie den Global Assembly Cache (GAC) des .NET Frameworks im Windows Explorer an (er findet sich im Windows-Unterverzeichnis „assembly“), so verwendet Windows Explorer eine spezifische, vom Normalzustand abweichende Darstellungsform in Listenansicht: Der sogenannte „GAC-Viewer“ sorgt dafür, dass Sie im Windows Explorer einen schnellen Überblick über Assembly-Namen, Assembly-Typen, Versionsnummern und weitere Details über die Assemblys im GAC erhalten.

Abbildung 1: GAC-Anzeige des GAC-Viewers im Windows Explorer
Abbildung 1: GAC-Anzeige des GAC-Viewers im Windows Explorer

Mit der Realität dessen, was das Windows-Unterverzeichnis assembly an Unterverzeichnissen und Dateien enthält, hat dies jedoch nur bedingt zu tun.

Um Einblick in die tatsächliche Struktur des GAC zu nehmen, können Sie den GAC-Viewer deaktivieren. Vor jeder Anzeige des GAC im Windows Explorer wird im Registryzweig HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Fusion der Wert des DWORD-Eintrags DisableCacheViewer gesucht. Im Regelfall ist dieser Wert nicht vorhanden, was einem Wert 0 entspricht. Erzeugen Sie im angegebenen Registryzweig einen neuen DWORD-Eintrag mit dem Namen DisableCacheViewer und dem Wert 1, so lässt der GAC die Hüllen fallen: Sie erhalten über den Windows Explorer ab sofort freien Einblick in die Struktur des GAC.

Abbildung 2: Der GAC entmystifiziert – so machen die das also!
Abbildung 2: Der GAC entmystifiziert – so machen die das also!

Sofort erkennen Sie dank der neuen Ansichtsmöglichkeit, dass der GAC eigentlich in einem zusätzlichen Unterverzeichnis liegt, nämlich im Windows-Unterverzeichnis \assembly\GAC\. Für jede registrierte Assembly steht dort ein Unterverzeichnis mit dem Namen der Assembly zur Verfügung. Dieses enthält seinerseits wieder Unterverzeichnisse, die im Namen die jeweiligen Versionsnummern und öffentlichen Schlüssel der vorhandenen Assemblys im Namen tragen. In diesen Unterverzeichnissen finden sich schließlich die jeweiligen Assemblydateien selber, zusätzlich beschrieben durch eine klassische Windows Initialisierungsdatei (INI).

Um den GAC-Viewer wieder einzuschalten, löschen Sie entweder den neu angelegten DWORD-Wert DisableCacheViewer oder setzen Sie seinen Wert auf 0.

Falls Sie diese Änderung regelmäßig vornehmen möchten, können Sie zwei REG-Dateien für diesen Zweck erstellen, die Sie einfach mit dem Windows Editor erstellen und entsprechend abspeichern können:

Windows Registry Editor Version 5.00
// Ausschalten des GAC-Viewers für den Windows Explorer
// Diese Textdatei abspeichern als GacViewOff.reg

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Fusion]
"DisableCacheViewer"=dword:00000001

Listing 1: Vorlage für eine REG-Datei zum Ausschalten des GAC-Viewers

Windows Registry Editor Version 5.00
// Einschalten des GAC-Viewers für den Windows Explorer (Standard)
// Diese Textdatei abspeichern als GacViewOn.reg

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Fusion]
"DisableCacheViewer"=dword:00000000

Listing 2: Vorlage für eine REG-Datei zum Einschalten des GAC-Viewers

Mathias Schiffer widmet sich als freier Softwareentwickler und Technologievermittler größeren Projekten ebenso wie arbeitserleichternden Alltagslösungen. Seit Jahren gibt er sein Wissen in unzähligen Publikationen auch an andere Entwickler und Entscheider weiter. Sie erreichen ihn per E-Mail an die Adresse Schiffer@mvps.org.