Condividi tramite


Assembly con nome sicuro (firma degli assembly) (C++/CLI)

In questo argomento viene illustrato come firmare l'assembly, spesso definito come assegnare un nome sicuro all'assembly.

Osservazioni:

Quando si usa Visual C++, usare le opzioni del linker per firmare l'assembly per evitare problemi correlati agli attributi CLR per la firma dell'assembly:

I motivi per cui non si usano gli attributi includono il fatto che il nome della chiave è visibile nei metadati dell'assembly, che può essere un rischio per la sicurezza se il nome del file include informazioni riservate. Inoltre, il processo di compilazione usato dall'ambiente di sviluppo Visual C++ invaliderà la chiave con cui l'assembly è firmato se si usano attributi CLR per assegnare un nome sicuro a un assembly e quindi eseguire uno strumento di post-elaborazione come mt.exe nell'assembly.

Se si esegue la compilazione nella riga di comando, usare le opzioni del linker per firmare l'assembly e quindi eseguire uno strumento di post-elaborazione (ad esempio mt.exe), sarà necessario firmare nuovamente l'assembly con sn.exe. In alternativa, è possibile compilare e ritardare la firma dell'assembly e dopo l'esecuzione di strumenti di post-elaborazione, completare la firma.

Se si usano gli attributi di firma durante la compilazione nell'ambiente di sviluppo, è possibile firmare correttamente l'assembly chiamando in modo esplicito sn.exe (Sn.exe (Strumento nome sicuro) in un evento di post-compilazione. Per altre informazioni, vedere Specifica di eventi di compilazione. I tempi di compilazione possono essere inferiori se si usano attributi e un evento di post-compilazione, rispetto all'uso di opzioni del linker.

Le opzioni del linker seguenti supportano la firma degli assembly:

Per altre informazioni sugli assembly sicuri, vedere Creazione e uso di assembly con nome sicuro.

Vedi anche

Programmazione .NET con C++/CLI (Visual C++)