Manifesto dell'assemblyAssembly Manifest

Ogni assembly, sia esso statico o dinamico, include una raccolta di dati che descrivono le relazioni tra i diversi elementi che lo compongono.Every assembly, whether static or dynamic, contains a collection of data that describes how the elements in the assembly relate to each other. Tali metadati sono contenuti nel manifesto dell'assembly.The assembly manifest contains this assembly metadata. Il manifesto dell'assembly contiene tutti i metadati necessari per specificare l'identità di sicurezza e i requisiti di versione dell'assembly e tutti i metadati necessari per definire l'ambito dell'assembly e risolvere i riferimenti a classi e risorse.An assembly manifest contains all the metadata needed to specify the assembly's version requirements and security identity, and all metadata needed to define the scope of the assembly and resolve references to resources and classes. Il manifesto dell'assembly può essere memorizzato in un file PE, che avrà estensione EXE o DLL e ospiterà anche codice Microsoft Intermediate Language (MSIL), oppure in un file PE autonomo che conterrà solo le informazioni del manifesto dell'assembly.The assembly manifest can be stored in either a PE file (an .exe or .dll) with Microsoft intermediate language (MSIL) code or in a standalone PE file that contains only assembly manifest information.

Nella figura che segue vengono illustrati i diversi modi in cui è possibile memorizzare il manifesto.The following illustration shows the different ways the manifest can be stored.

Assembly a file singoloA single-file assembly
Tipi di assemblyTypes of assemblies

Nel caso di un assembly con un solo file associato, il manifesto viene incorporato nel file PE per formare un assembly a file singolo.For an assembly with one associated file, the manifest is incorporated into the PE file to form a single-file assembly. È possibile creare un assembly su più file con un manifesto autonomo o con il manifesto incorporato in uno dei file PE dell'assembly.You can create a multifile assembly with a standalone manifest file or with the manifest incorporated into one of the PE files in the assembly.

Il manifesto dell'assembly svolge le seguenti funzioni:Each assembly's manifest performs the following functions:

  • Enumera i file che compongono l'assembly.Enumerates the files that make up the assembly.

  • Determina in che modo i riferimenti ai tipi e alle risorse dell'assembly vengono collegati ai file che contengono le relative dichiarazioni e implementazioni.Governs how references to the assembly's types and resources map to the files that contain their declarations and implementations.

  • Enumera altri assembly da cui l'assembly dipende.Enumerates other assemblies on which the assembly depends.

  • Fornisce un livello di riferimenti indiretti tra i consumatori dell'assembly e i dettagli di implementazione dell'assembly.Provides a level of indirection between consumers of the assembly and the assembly's implementation details.

  • Conferisce all'assembly la capacità di descrivere se stesso.Renders the assembly self-describing.

Contenuto del manifesto dell'assemblyAssembly Manifest Contents

Nella tabella che segue vengono mostrate le informazioni contenute nel manifesto dell'assembly.The following table shows the information contained in the assembly manifest. I primi quattro elementi (le informazioni sul nome, il numero di versione, le impostazioni cultura e il nome sicuro dell'assembly) costituiscono l'identità dell'assembly.The first four items—the assembly name, version number, culture, and strong name information—make up the assembly's identity.

InformazioniInformation DescrizioneDescription
Nome assemblyAssembly name Una stringa di testo che specifica il nome dell'assembly.A text string specifying the assembly's name.
Numero di versioneVersion number Un numero di versione principale e secondario e un numero di revisione e di build.A major and minor version number, and a revision and build number. Common Language Runtime utilizza tali numeri per assicurare l'applicazione dei criteri per la gestione delle versioni.The common language runtime uses these numbers to enforce version policy.
cultureCulture Informazioni sulla lingua o sulle impostazioni cultura supportate dall'assembly.Information on the culture or language the assembly supports. Questa informazione deve essere utilizzata solo per designare un assembly come assembly satellite contenente informazioni specifiche della lingua o delle impostazioni cultura.This information should be used only to designate an assembly as a satellite assembly containing culture- or language-specific information. Un assembly con informazioni relative alle impostazioni cultura viene automaticamente considerato come assembly satellite.(An assembly with culture information is automatically assumed to be a satellite assembly.)
Informazioni sul nome sicuroStrong name information La chiave pubblica rilasciata dall'editore se all'assembly è stato assegnato un nome sicuro.The public key from the publisher if the assembly has been given a strong name.
Elenco di tutti i file dell'assemblyList of all files in the assembly Un elenco di tutti i file contenuti nell'assembly e un nome di file.A hash of each file contained in the assembly and a file name. Si noti che tutti i file che compongono l'assembly devono essere contenuti nella stessa directory del file che contiene il manifesto dell'assembly.Note that all files that make up the assembly must be in the same directory as the file containing the assembly manifest.
Informazioni per il riferimento ai tipiType reference information Informazioni utilizzate dal runtime per collegare il riferimento a un tipo al file che ne contiene la dichiarazione e l'implementazione.Information used by the runtime to map a type reference to the file that contains its declaration and implementation. Vengono utilizzate per i tipi esportati dall'assembly.This is used for types that are exported from the assembly.
Informazioni sugli assembly a cui si fa riferimentoInformation on referenced assemblies Un elenco di tutti gli assembly a cui questo assembly fa riferimento in modo statico.A list of other assemblies that are statically referenced by the assembly. Ciascun riferimento include il nome, i metadati (versione, impostazioni cultura, sistema operativo e così via) e la chiave pubblica dell'assembly, se questo ha un nome sicuro.Each reference includes the dependent assembly's name, assembly metadata (version, culture, operating system, and so on), and public key, if the assembly is strong named.

È possibile aggiungere o modificare alcune informazioni del manifesto dell'assembly utilizzando gli attributi dell'assembly nel proprio codice.You can add or change some information in the assembly manifest by using assembly attributes in your code. È anche possibile modificare le informazioni sulla versione e alcuni attributi informativi, tra cui marchio, copyright, prodotto, società e versione informativa.You can change version information and informational attributes, including Trademark, Copyright, Product, Company, and Informational Version. Per un elenco completo degli attributi degli assembly vedere Impostazione degli attributi di un assembly.For a complete list of assembly attributes, see Setting Assembly Attributes.

Vedere ancheSee Also

Contenuto degli assemblyAssembly Contents
Controllo delle versioni degli assemblyAssembly Versioning
Creazione di assembly satelliteCreating Satellite Assemblies
Assembly con nomi sicuriStrong-Named Assemblies