/keyfile (C#-Compileroptionen)/keyfile (C# Compiler Options)

Gibt den Dateinamen mit dem kryptografischen Schlüssel an.Specifies the filename containing the cryptographic key.

SyntaxSyntax

/keyfile:file  

ArgumenteArguments

BegriffTerm DefinitionDefinition
file Der Name der Datei mit dem Schlüssel mit starkem Namen.The name of the file containing the strong name key.

HinweiseRemarks

Wenn diese Option verwendet wird, fügt der Compiler den öffentlichen Schlüssel von der angegebenen Datei in das Assemblymanifest ein und signiert anschließend die endgültige Assembly mit dem privaten Schlüssel.When this option is used, the compiler inserts the public key from the specified file into the assembly manifest and then signs the final assembly with the private key. Geben Sie sn -k file in die Befehlszeile ein, um eine Schlüsseldatei zu generieren.To generate a key file, type sn -k file at the command line.

Wenn Sie mit der Option /target:module kompilieren, wird der Name der Schlüsseldatei im Modul aufbewahrt und in die Assembly integriert, die erstellt wird, wenn Sie eine Assembly mit /addmodule kompilieren.If you compile with /target:module, the name of the key file is held in the module and incorporated into the assembly that is created when you compile an assembly with /addmodule.

Außerdem können Sie Ihre Verschlüsselungsinformationen mit /keycontainer an den Compiler übergeben.You can also pass your encryption information to the compiler with /keycontainer. Verwenden Sie /delaysign, wenn die Assembly teilweise signiert werden soll.Use /delaysign if you want a partially signed assembly.

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.In case both /keyfile and /keycontainer are specified (either by command line option or by custom attribute) in the same compilation, the compiler will first try the key container. Wenn dies erfolgreich ist, wird die Assembly mit den Informationen im Schlüsselcontainer signiert.If that succeeds, then the assembly is signed with the information in the key container. Wenn den Compiler den Schlüsselcontainer nicht findet, wird versucht, die mit /keyfile angegebene Datei zu verwenden.If the compiler does not find the key container, it will try the file specified with /keyfile. Wenn dies 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.If that succeeds, the assembly is signed with the information in the key file and the key information will be installed in the key container (similar to sn -i) so that on the next compilation, the key container will be valid.

Beachten Sie, dass die Schlüsseldatei möglicherweise nur den öffentlichen Schlüssel enthält.Note that a key file might contain only the public key.

Weitere Informationen finden Sie unter Erstellen und Verwenden von Assemblys mit starkem Namen und Verzögertes Signieren einer Assembly.For more information, see Creating and Using Strong-Named Assemblies and Delay Signing an Assembly.

So legen Sie diese Compileroption in der Visual Studio-Entwicklungsumgebung festTo set this compiler option in the Visual Studio development environment

  1. Öffnen Sie die Seite Eigenschaften für das Projekt.Open the Properties page for the project.

  2. Klicken Sie auf die Eigenschaftenseite Signieren.Click the Signing property page.

  3. Modifizieren Sie die Eigenschaft Schlüsseldatei mit starkem Namen auswählen.Modify the Choose a strong name key file property.

Sie können mit AssemblyOriginatorKeyFile programmgesteuert auf diese Compileroption zugreifen.You can programmatically access this compiler option with AssemblyOriginatorKeyFile.

Siehe auchSee Also

C#-CompileroptionenC# Compiler Options
Verwalten von Projekt- und ProjektmappeneigenschaftenManaging Project and Solution Properties