Condividi tramite


Manifesto dell'assembly

Ogni assembly, statico o dinamico, contiene una raccolta di dati che descrive la correlazione tra gli elementi nell'assembly. Il manifest dell'assembly contiene i metadati dell'assembly. Un manifesto dell'assembly contiene tutti i metadati necessari per specificare i requisiti di versione dell'assembly e l'identità di sicurezza e tutti i metadati necessari per definire l'ambito dell'assembly e risolvere i riferimenti alle risorse e alle classi. Il manifesto dell'assembly può essere archiviato in un file PE (un .exe o .dll) con codice CIL (Common Intermediate Language) o in un file PE autonomo che contiene solo informazioni sul manifesto dell'assembly.

La figura seguente illustra i diversi modi in cui è possibile archiviare il manifesto.

Diagramma che mostra il manifest in un assembly a file singolo e in uno a file multipli.

Per un assembly con un file associato, il manifesto viene incorporato nel file PE per formare un assembly a file singolo. È possibile creare un assembly multifile con un file manifesto autonomo o con il manifesto incorporato in uno dei file PE nell'assembly.

Il manifesto di ogni assembly esegue le funzioni seguenti:

  • Enumera i file che costituiscono l'assembly.

  • Regola il modo in cui i riferimenti ai tipi e alle risorse dell'assembly si mappano ai file che contengono le dichiarazioni e le implementazioni.

  • Enumera le altre assembly da cui l'assembly dipende.

  • Fornisce un livello di indirezione tra gli utenti dell'assembly e i dettagli di implementazione dell'assembly.

  • Rende l'assembly auto-descrittivo.

Contenuto del manifesto dell'assembly

Nella tabella seguente vengono illustrate le informazioni contenute nel manifesto dell'assembly. I primi quattro elementi: nome dell'assembly, numero di versione, cultura e informazioni sul nome forte costituiscono l'identità dell'assembly.

Informazione Descrizione
Nome assembly Stringa di testo che specifica il nome dell'assembly.
Numero di versione Numero di versione principale e secondaria, e numero di revisione e di build. Common Language Runtime usa questi numeri per applicare i criteri di versione.
Cultura Informazioni sulla cultura o lingua supportata dall'assembly. Queste informazioni devono essere usate solo per designare un assembly come assembly satellite contenente informazioni specifiche della cultura o della lingua. Si assume che un assembly con informazioni culturali sia automaticamente un assembly satellite.
Informazioni sul nome sicuro Chiave pubblica dal server di pubblicazione se all'assembly è stato assegnato un nome sicuro.
Elenco di tutti i file nell'assembly Hash di ogni file contenuto nell'assembly e un nome di file. Si noti che tutti i file che costituiscono l'assembly devono trovarsi nella stessa directory del file contenente il manifesto dell'assembly.
Informazioni per il riferimento ai tipi Informazioni utilizzate dal runtime per eseguire il mapping di un riferimento di tipo al file contenente la relativa dichiarazione e implementazione. Viene utilizzato per i tipi esportati dall'assembly.
Informazioni sugli assembly a cui si fa riferimento Elenco di altri assembly ai quali l'assembly fa riferimento in modo statico. Ogni riferimento include il nome dell'assembly dipendente, i metadati dell'assembly (versione, cultura, sistema operativo e così via) e la chiave pubblica, se l'assembly è fortemente nominato.

È possibile aggiungere o modificare alcune informazioni nel manifesto dell'assembly usando gli attributi dell'assembly nel codice. È possibile modificare le informazioni sulla versione e gli attributi informativi, tra cui Marchio, Copyright, Prodotto, Società e Versione informativa. Per un elenco completo degli attributi dell'assembly, vedere Impostare gli attributi dell'assembly.

Vedere anche