-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