Multiple Verwendung von .NET-Assemblies Global Assembly Cache Management

Autor / Redakteur: Dipl.-Ing. Andreas Maslo / Stephan Augsten

Öffentliche Assemblies werden im .NET Framework im Global Assembly Cache versionsspezifisch verwaltet und können damit programmübergreifend von Anwendungen und Komponenten genutzt werden. Mit dem Konfigurations-Tool zum .NET Framework erhalten Sie als Administrator Zugriff auf den Global Assembly Cashe und können darüber auch die Token zu den öffentlichen Schlüsseln abfragen.

Anbieter zum Thema

Zwar ist es nicht zwingend erforderlich, Assemblies über den Global Assembly Cashe (GAC) zu veröffentlichen. Dies hat allerdings immer dann Vorteile, wenn sie von mehreren Anwendungen genutzt werden sollen und dabei mehrere Versionen verwaltet werden müssen.

Außerdem ergeben sich Geschwindigkeitsvorteile: Der GAC findet Assemblies nicht nur schnell auf – er bildet auch nur einzelne Instanzen, auch wenn mehrere Clients parallel auf ein öffentliches Assembly zugreifen und auf erneute Überprüfungen des Assemblies verzichtet werden kann.

Die Integritäts-Kontrolle erfolgt einmalig dann, wenn der Administrator das Assembly in den GAC einstellt. Weil die Verwaltung des Cashe dem Administrator vorbehalten bleibt, ist auch die Sicherheit der Dateien garantiert.

Öffentliche Assemblies verwalten

Sie können den GAC über das .NET-Konfigurations-Tool verwalten. Der Aufruf des Programms variiert je nach .NET-Version. In .NET 2.0 starten Sie zunächst die SDK-Eingabeaufforderung, geben dann den Befehl mscorcfg.msc ein und bestätigen mit [Enter]. Anschließend wählen Sie im folgenden Dialog in der Strukturansicht den Hierarchiezweig „.NET Configuration 2.0/Arbeitsplatz/Assemblycache“.

Nach entsprechender Anwahl werden alle im GAC veröffentlichten Assemblies über eine Listenansicht zusammengestellt. Darüber werden neben dem Assemblynamen und der Version auch die Token der öffentlichen Schlüssel offengelegt.

Alternativ können Sie die Eigenschaften zu einem veröffentlichten Assembly per Dialog anzeigen lassen, indem Sie es mit einem Doppelklick anwählen. Mit einem Klick auf die Schaltfläche „OK“ schließen Sie den Eigenschaftendialog wieder.

Assemblies veröffentlichen

Um ein neues Assembly in den GAC aufzunehmen und einhergehend damit zu veröffentlichen, rufen Sie zunächst zum Hierarchie-Eintrag „Assemblycache“ den zugehörigen Kontextmenübefehl „Neu“ ab. Anschließend können Sie das zu veröffentliche Assembly über einen herkömmlichen Dateiauswahldialog wählen und mit „Öffnen“ übernehmen.

Das Assembly selbst muss dabei bereits über einen starken Namen (Strong Name) und einhergehend damit über einen zugeordneten Schlüssel verfügen. Alternativ können Sie die entsprechende Komponente auch per Drag and Drop aus dem Windows Explorer direkt in das .NET-Verwaltungs-Tool übernehmen, indem Sie es auf den Knoten „Assemblycache“ in der Strukturansicht fallen lassen.

Veröffentlichte Assemblies aus dem GAC entfernen

Die Veröffentlichung eines Assemblies muss nicht dauerhaft sein und kann bei Bedarf durch den Administrator hjederzeit rückgängig gemacht werden. Wählen Sie dazu im Verwaltungs-Tool zum Assembly, das aus dem GAC entfernt werden soll, den Kontextmenübefehl „Löschen“ ab. Das Löschen selbst müssen Sie anschließend noch über eine Sicherheitsabfrage gesondert mit „Ja“ bestätigen.

(ID:2004814)