/keyfile
Gibt eine Datei mit einem Schlüssel oder Schlüsselpaar an, um einer Assembly einen starken Namen zuzuweisen.
/keyfile:file
Argumente
- file
Erforderlich. Die Datei, die den Schlüssel enthält. Wenn der Dateiname ein Leerzeichen enthält, schließen Sie den Namen in Anführungszeichen (" ") ein.
Hinweise
Der Compiler fügt den öffentlichen Schlüssel in das Assemblymanifest ein und signiert dann die endgültige Assembly mit dem privaten Schlüssel. Geben Sie sn -k file in der Befehlszeile ein, um eine Schlüsseldatei zu generieren. Weitere Informationen finden Sie unter Sn.exe (Strong Name-Tool).
Wenn Sie mit /target:module kompilieren, wird der Name der Schlüsseldatei im Modul gespeichert und in die Assembly integriert, die beim Kompilieren einer Anwendung mit /addmodule erstellt wird.
Die Verschlüsselungsinformationen können auch mit /keycontainer an den Compiler übergeben werden. 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 MSIL-Modul (Microsoft Intermediate Language) angeben.
Wenn sowohl /keyfile als auch /keycontainer (entweder durch eine Befehlszeilenoption oder durch ein benutzerdefiniertes Attribut) in derselben Kompilierung angegeben sind, verwendet der Compiler zuerst den Schlüsselcontainer. Wenn dies erfolgreich ist, wird die Assembly mit den Informationen aus dem Schlüsselcontainer signiert. Wenn der Compiler den Schlüsselcontainer nicht finden kann, wird die durch /keyfile angegebene Datei verwendet. Wenn dies erfolgreich ist, wird die Assembly mit den Informationen aus der Schlüsseldatei signiert, und die Schlüsselinformationen werden im Schlüsselcontainer installiert (vergleichbar mit sn -i). Der Schlüsselcontainer ist somit bei der nächsten Kompilierung gültig.
Beachten Sie, dass eine Schlüsseldatei möglicherweise nur den öffentlichen Schlüssel enthält.
Weitere Informationen über das Signieren einer Assembly finden Sie unter Erstellen und Verwenden von Assemblys mit starkem Namen.
Tipp
Die /keyfile-Option ist innerhalb der Entwicklungsumgebung von Visual Studio nicht verfügbar, sondern nur bei der Kompilierung über die Befehlszeile.
Beispiel
Mit dem folgenden Code wird die Quelldatei Input.vb kompiliert und eine Schlüsseldatei angegeben.
vbc /keyfile:myfile.sn input.vb
Siehe auch
Referenz
Assemblys und der globale Assemblycache (C# und Visual Basic)
Beispiele für Kompilierungsbefehlszeilen (Visual Basic)