Freigeben über


Signieren einer Assembly mit einem starken Namen

Es gibt zwei verschiedene Möglichkeiten, eine Assembly mit einem starken Namen zu signieren:

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