Condividi tramite


-keyfile

Specifica un file contenente una chiave o una coppia di chiavi allo scopo di assegnare a un assembly un nome sicuro.

Sintassi

-keyfile:file

Argomenti

file Obbligatorio. File contenente la chiave. Se il nome del file contiene uno spazio, racchiuderlo tra virgolette (" ").

Osservazioni:

Durante la compilazione la chiave pubblica verrà inserita nel manifesto dell'assembly, mentre l'assembly finale verrà firmato con la chiave privata. Per generare un file di chiave, digitare sn -k file nella riga di comando. Per altre informazioni, vedere Sn.exe (strumento nome sicuro).

Se si esegue la compilazione con -target:module, il nome del file della chiave viene mantenuto nel modulo e incorporato nell'assembly creato durante la compilazione di un assembly con -addmodule.

È possibile passare al compilatore le informazioni di crittografia anche tramite -keycontainer. Usare -delaysign se si vuole un assembly con firma parziale.

È anche possibile specificare questa opzione come attributo personalizzato (AssemblyKeyFileAttribute) nel codice sorgente per qualsiasi modulo di linguaggio intermedio comune.

Se nella stessa compilazione vengono specificate entrambe le opzioni -keyfile e -keycontainer (tramite opzione della riga di comando o attributo personalizzato), verrà tentato prima il contenitore di chiavi. Se l'operazione riesce, l'assembly viene firmato con le informazioni incluse nel contenitore di chiavi. Se invece il compilatore non trova il contenitore di chiavi, effettua un tentativo con il file specificato in -keyfile. Se l'operazione riesce, l'assembly verrà firmato con le informazioni contenute nel file di chiave e le informazioni sulla chiave verranno installate nel contenitore di chiavi (in modo analogo a sn -i) in modo che nella compilazione successiva il contenitore di chiavi sia valido.

Si noti che un file di chiave può contenere solo la chiave pubblica.

Per altre informazioni sulla firma di un assembly, vedere Creazione e uso di assembly con nome sicuro.

Nota

L'opzione -keyfile non è disponibile nell'ambiente di sviluppo di Visual Studio; è disponibile solo durante la compilazione dalla riga di comando.

Esempio

Il codice seguente compila il file di origine Input.vb e specifica un file di chiavi.

vbc -keyfile:myfile.sn input.vb

Vedi anche