Freigeben über


-keyfile

Gibt eine Datei mit einem Schlüssel oder Schlüsselpaar an, um einer Assembly einen starken Namen zuzuweisen.

Syntax

-keyfile:file

Argumente

file ist erforderlich. Die Datei, die den Schlüssel enthält. Wenn der Dateiname ein Leerzeichen enthält, müssen Sie diesen in Anführungszeichen (" ") einschließen.

Hinweise

Der Compiler fügt den öffentlichen Schlüssel in das Assemblymanifest ein und signiert anschließend die endgültige Assembly mit dem privaten Schlüssel. Geben Sie sn -k file in die Befehlszeile ein, um eine Schlüsseldatei zu generieren. Weitere Informationen finden Sie unter Sn.exe (Strong Name-Tool).

Wenn Sie mit der Option -target:module kompilieren, wird der Name der Schlüsseldatei im Modul gespeichert und in die Assembly integriert, die erstellt wird, wenn Sie eine Assembly mit -addmodule kompilieren.

Außerdem können Sie Ihre Verschlüsselungsinformationen mit -keycontainer an den Compiler übergeben. Verwenden Sie -delaysign, wenn die Assembly teilweise signiert werden soll.

Sie können diese Option auch als benutzerdefiniertes Attribut (AssemblyKeyFileAttribute) im Quellcode für ein beliebiges CIL-Modul (Common Intermediate Language) angeben.

Wenn für die gleiche Kompilierung sowohl -keyfile als auch -keycontainer angegeben werden (über eine Befehlszeilenoption oder ein benutzerdefiniertes Attribut), versucht der Compiler zunächst, den Schlüsselcontainer zu verwenden. Wenn dies erfolgreich ist, wird die Assembly mit den Informationen im Schlüsselcontainer signiert. Wenn den Compiler den Schlüsselcontainer nicht findet, versucht er, die mit -keyfile angegebene Datei zu verwenden. Wenn dieser Vorgang erfolgreich ist, wird die Assembly mit den Informationen in der Schlüsseldatei signiert, und die Schlüsselinformationen werden im Schlüsselcontainer installiert (vergleichbar mit sn -i), sodass der Schlüsselcontainer bei der nächsten Kompilierung gültig ist.

Beachten Sie, dass die Schlüsseldatei möglicherweise nur den öffentlichen Schlüssel enthält.

Weitere Informationen zum Signieren von Assemblys finden Sie unter Erstellen und Verwenden von Assemblys mit starkem Namen.

Hinweis

Die Option -keyfile steht nicht in der Visual Studio-Entwicklungsumgebung zur Verfügung. Sie ist nur verfügbar, wenn Sie über die Befehlszeile kompilieren.

Beispiel

Der folgende Code kompiliert die Quelldatei Input.vb und gibt eine Schlüsseldatei an.

vbc -keyfile:myfile.sn input.vb

Siehe auch