What is an Assembly Manifest

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. The assembly manifest can be stored in either a PE file (an .exe or .dll) with MSIL code or in a standalone PE file that contains only assembly manifest information.

Functions of the Assembly Manifest
  • The manifest lists the files that make up the assembly.
  • It governs how references to the assembly's types and resources map to the files that contain their declarations and implementations.
  • It lists other assemblies on which the assembly depends.
  • It provides a level of indirection between consumers of the assembly and the assembly's implementation details.
  • It makes the assembly self-describing.

Contents of the Assembly Manifest

Given below are the details of the information contained in as Assembly Manifest:
  • Assembly Name – Name of the assembly.
  • Version numberA major and minor version number, and a revision and build number. The CLR uses these numbers to enforce version policy.
  • Culture – Information on the culture or language the assembly supports.
  • Strong name information – The public key from the publisher if the assembly has been given a strong name.
  • List of all files in the assembly - A hash of each file contained in the assembly and a file name.
  • Type reference information – Information used by the runtime to map a type reference to the file that contains its declaration and implementation. This is used for types that are exported from the assembly.
  • Information on referenced assemblies – A list of other assemblies that are statically referenced by the assembly. 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.

No comments:

Post a Comment