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.
Es gibt zwei verschiedene Möglichkeiten, eine Assembly mit einem starken Namen zu signieren:
- Mit dem von .NET Framework SDK zur Verfügung gestellten Assembly Linker-Tool (Al.exe).
- Mit Hilfe von Assemblyattributen, um die Informationen zum starken Namen in den Code einzufügen. Abhängig von dem Ort, an dem sich die zu verwendende Schlüsseldatei befindet, können Sie entweder das AssemblyKeyFileAttribute oder das AssemblyKeyNameAttribute verwenden.
Sie benötigen ein kryptographisches Schlüsselpaar, um eine Assembly mit einem starken Namen zu signieren. Weitere Informationen zum Generieren von Schlüsselpaaren finden Sie unter Erstellen eines Schlüsselpaars.
So erstellen und signieren Sie eine Assembly mit einem starken Namen unter Verwendung des Assemblylinkers
Geben Sie an der Eingabeaufforderung folgenden Befehl ein:
al /out:<Assemblyname> <Modulname> /keyfile:<Dateiname>
In diesem Befehl bezeichnet Assemblyname den Namen der Assembly, die mit einem starken Namen signiert werden soll, Modulname den Namen des Codemoduls, das zur Erstellung der Assembly verwendet wird, und Dateiname den Namen des Containers oder der Datei, worin sich das Schlüsselpaar befindet.
Im folgenden Beispiel wird die Assembly MyAssembly.dll unter Verwendung der Schlüsseldatei sgKey.snk mit einem starken Namen signiert.
al /out:MyAssembly.dll MyModule.netmodule /keyfile:sgKey.snk
So signieren Sie eine Assembly mit einem starken Namen unter Verwendung von Attributen
- Fügen Sie in einem Codemodul das AssemblyKeyFileAttribute oder das AssemblyKeyNameAttribute hinzu, und geben Sie den Namen der Datei oder des Containers an, der das zum Signieren der Assembly mit einem starken Namen zu verwendende Schlüsselpaar enthält.
Im folgenden Beispielcode wird das AssemblyKeyFileAttribute zusammen mit einer Schlüsseldatei namens sgKey.snk verwendet.
<Assembly:AssemblyKeyFileAttribute("sgKey.snk")>
[C#]
[assembly:AssemblyKeyFileAttribute(@"..\..\sgKey.snk")]
Sie können auch während des Kompiliervorgangs eine Assembly verzögert signieren. Weitere Informationen hierzu finden Sie unter Verzögertes Signieren einer Assembly.
Beim Signieren einer Assembly mit einem starken Namen sucht das Assembly Linker-Tool (Al.exe) nach der Schlüsseldatei relativ zum aktuellen und zum Ausgabeverzeichnis. Wenn Sie einen Befehlszeilencompiler verwenden, können Sie den Schlüssel einfach in das aktuelle Verzeichnis kopieren, das die Codemodule enthält.
Siehe auch
Erstellen und Verwenden von Assemblies mit starkem Namen | Erstellen eines Schlüsselpaars | Verzögertes Signieren einer Assembly