Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
In diesem Artikel wird beschrieben, wie Sie eine Assembly .dll Datei im globalen Assemblycache von Microsoft .NET Framework installieren und mithilfe von Visual Studio eine Assembly erstellen, die einen starken Namen hat.
Originalproduktversion: .NET Framework, Visual Studio
Ursprüngliche KB-Nummer: 910355
Zusammenfassung
Zum Installieren einer Assembly .dll Datei im globalen .NET Framework-Assemblycache können Sie das .NET Framework SDK-Tool für den globalen Assemblycache verwenden. Sie können auch das Tool für den globalen Assemblycache verwenden, um zu überprüfen, ob die Assembly im globalen Assemblycache installiert ist. Um diese Aufgabe auszuführen, verfügen Sie möglicherweise über Administratorrechte auf dem Computer, auf dem die freigegebene Assembly installiert ist. Darüber hinaus müssen Sie das .NET Framework SDK installieren.
Eine Visual C#-.NET-Version dieses Artikels finden Sie unter Installieren einer Assembly im globalen Assemblycache in Visual C#.
Globaler Assemblycache
Der globale Assemblycache von .NET Framework ist ein Codecache. Der globale Assemblycache wird automatisch auf jedem Computer installiert, auf dem die Common Language Runtime von .NET Framework installiert ist. Jede Anwendung, die auf dem Computer installiert ist, kann auf den globalen Assemblycache zugreifen. Im globalen Assemblycache werden Assemblys gespeichert, die von mehreren Anwendungen auf dem Computer gemeinsam verwendet werden sollen. Komponentenassemblys werden in der C:\WINNT\Assembly Regel im Ordner gespeichert.
Hinweis
Installieren Sie eine Assembly nur im globalen Assemblycache, wenn Sie die Assembly freigeben müssen. Es sei denn, die Freigabe einer Assembly ist explizit erforderlich, empfehlen wir, Assemblyabhängigkeiten privat zu halten und die Assembly im Anwendungsverzeichnis zu finden. Darüber hinaus müssen Sie keine Assembly im globalen Assemblycache installieren, um die Assembly für die Interoperabilität des Microsoft Component Object Model (COM) oder für nicht verwalteten Code verfügbar zu machen.
Eine Assembly
Eine Assembly ist ein grundlegender Bestandteil der Programmierung mit .NET Framework. Eine Assembly ist ein wiederverwendbarer, selbst beschreibenden Baustein einer Common Language Runtime-Anwendung von .NET Framework.
Eine Assembly enthält eine oder mehrere Codekomponenten, die von der Common Language Runtime ausgeführt werden. Alle Typen und alle Ressourcen in derselben Assembly bilden eine einzelne Version der Einheit. Das Assemblymanifest beschreibt die Versionsabhängigkeiten, die Sie für abhängige Assemblys angeben. Mithilfe einer Assembly können Sie Versionsregeln zwischen verschiedenen Softwarekomponenten angeben und diese Regeln zur Laufzeit erzwungen haben. Eine Assembly unterstützt die parallele Ausführung. WHich ermöglicht die gleichzeitige Ausführung mehrerer Versionen.
Signieren mit starkem Namen
Eine Assembly muss einen starken Namen haben, um im globalen Assemblycache installiert werden zu können. Ein starker Name ist eine global eindeutige Identität, die nicht von einer anderen Person gespooft werden kann. Durch die Verwendung eines starken Namens verhindern Sie, dass Komponenten, die denselben Namen haben, miteinander in Konflikt stehen oder von einer aufrufenden Anwendung falsch verwendet werden. Die Assemblysignierung ordnet einen starken Namen zusammen mit einer Assembly zu. Die Assemblysignierung wird auch als Signierung mit starkem Namen bezeichnet. Ein starker Name besteht aus den folgenden Informationen:
- Der name des einfachen Texts der Assembly
- Die Versionsnummer der Assembly
- Die Kulturinformationen zur Assembly, wenn diese Informationen bereitgestellt werden
- Ein öffentliches Schlüssel- und privates Schlüsselpaar
Diese Informationen werden in einer Schlüsseldatei gespeichert. Die Schlüsseldatei ist entweder eine Pfx-Datei (Personal Information Exchange) oder ein Zertifikat aus dem Microsoft Windows-Zertifikatspeicher des aktuellen Benutzers.
Sie können eine Assembly signieren, indem Sie die Optionen auf der Registerkarte "Signieren " des Project Designer in Visual Studio verwenden. In Visual Studio muss die Schlüsseldatei im Projektordner auf dem lokalen Computer gespeichert werden. Visual Studio unterstützt nur die folgenden Dateiformate:
- Personal Information Exchange (PFX)-Dateien
- Dateien mit starkem Namen (SNK)
Anforderungen
Möglicherweise erfüllen Sie die folgenden Anforderungen, bevor Sie eine Assembly im globalen Assemblycache installieren:
- Sie müssen über Administratorrechte auf dem Computer verfügen, auf dem die freigegebene Assembly installiert ist.
- Sie müssen das .NET Framework SDK installieren.
In diesem Artikel wird davon ausgegangen, dass Sie mit den folgenden Themen vertraut sind:
- Allgemeine Vertrautheit mit freigegebenen Assemblys in .NET.
- Allgemeine Kenntnisse über die Verwendung von Tools an einer Eingabeaufforderung.
Installieren einer Assembly im globalen Assemblycache
Diese Methode basiert auf dem Erstellen einer Assembly mithilfe von Visual Studio. Um eine Assembly zu erstellen, die von mehreren Anwendungen gemeinsam genutzt werden kann, muss die freigegebene Assembly einen starken Namen haben. Darüber hinaus muss die freigegebene Assembly im globalen Assemblycache bereitgestellt werden.
Führen Sie die folgenden Schritte aus, um eine kleine Visual C#-Assembly mit starkem Namen zu erstellen und die kompilierte .dll Datei im globalen Assemblycache zu installieren:
Erstellen Sie ein neues Visual C#-Klassenbibliotheksprojekt mit dem Namen GACDemo. Gehen Sie dazu wie folgt vor:
- Starten Sie Visual Studio.
- Wählen Sie im Menü Datei die Option Neues Projekt aus.
- Wählen Sie in der Liste "Vorlagen" die Option "Klassenbibliothek" aus.
- Geben Sie im Feld "Name" den Namen "GACDemo" ein, und wählen Sie dann "OK" aus.
- Um das Projekt zu speichern, drücken Sie STRG+UMSCHALT+S.
- Geben Sie im Feld "Speicherort " die Kontrollkästchen
C:\DemoProjectsein. - Deaktivieren Sie das Kontrollkästchen "Verzeichnis für Lösung erstellen", und wählen Sie dann "Speichern" aus.
Generieren Sie einen starken Namen, und ordnen Sie dann die Schlüsseldatei mit starkem Namen der Assembly zu. Gehen Sie dazu wie folgt vor:
Wählen Sie im Menü "Projekt" die Option "GACDemo-Eigenschaften" aus.
Aktivieren Sie auf der Registerkarte Signierung das Kontrollkästchen Assembly signieren.
Wählen Sie unter "Schlüsseldatei mit starkem Namen" die Option "Neu">.
Aktivieren Sie im Dialogfeld "Schlüssel mit starkem Namen erstellen" das Kontrollkästchen "Meine Schlüsseldatei schützen" mit einem Kennwort .
Geben Sie im Feld "Schlüsseldateiname" den Namen "GACDemo" ein.
Geben Sie im Feld "Kennwort eingeben" das Kennwort ein, das Sie verwenden möchten.
Geben Sie im Feld "Kennwort bestätigen" dasselbe Kennwort ein, und wählen Sie dann "OK" aus.
Hinweis
Es wird empfohlen, beim Erstellen einer Schlüsseldatei immer ein Kennwort zu verwenden. Eine neue Schlüsseldatei, die durch ein Kennwort geschützt ist, wird immer im PFX-Dateiformat erstellt.
Um das Projekt zu kompilieren, drücken Sie STRG+UMSCHALT+B.
Hinweis
Es ist kein zusätzlicher Code erforderlich, um eine .dll Datei im globalen Assemblycache zu installieren.
Installieren Sie die .dll Datei, die Sie in Schritt 2 im globalen Assemblycache erstellt haben, mithilfe des Tools für den globalen Assemblycache. Gehen Sie dazu wie folgt vor:
- Wählen Sie "Start" aus, wählen Sie "Ausführen" aus, geben Sie cmd ein, und wählen Sie dann "OK" aus.
- Ändern Sie das aktuelle Arbeitsverzeichnis in das Verzeichnis, in dem das .NET Framework SDK installiert ist.
- Geben Sie an einer Eingabeaufforderung den befehl
gacutil -I "C:\DemoProjects\GACDemo\bin\Release\GACDemo.dll"ein, und drücken Sie dann die EINGABETASTE.
Überprüfen, ob die Assembly im globalen Assemblycache installiert ist
Sie können das Tool für den globalen Assemblycache verwenden, um zu überprüfen, ob die Assembly im globalen Assemblycache installiert ist. Gehen Sie dazu wie folgt vor:
Wählen Sie "Start" aus, wählen Sie "Ausführen" aus, geben Sie cmd ein, und wählen Sie dann "OK" aus.
Ändern Sie das aktuelle Arbeitsverzeichnis in das Verzeichnis, in dem das .NET Framework SDK installiert ist.
Verwenden Sie das Tool "Global Assembly Cache", um die Installationsinformationen zur GACDemo-Assembly anzuzeigen. Geben Sie dazu den
gacutil -l GACDemoBefehl an einer Eingabeaufforderung ein, und drücken Sie dann die EINGABETASTE.Hinweis
Die Installationsinformationen zur GACDemo-Assembly werden angezeigt.