Freigeben über


/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)

/reference (Visual Basic)

Beispiele für Kompilierungsbefehlszeilen (Visual Basic)

Weitere Ressourcen

Visual Basic-Compiler