Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
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.
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.