All Type Coding

Search Here

What is Manifest,GAC (Global Assembly Cache), .Net Assembly Contents.?

Manifest is a file that containing Metadata about .NET Assemblies.
Assembly metadata is stored in Manifest. Manifest contains all the metadata needed to do the
following things
• Version of assembly.
• Security identity.
• Scope of the assembly.
• Resolve references to resources and classes.
The assembly manifest can be stored in a PE file either (an .exe or) .dll with Microsoft
intermediate language (MSIL code with Microsoft intermediate language (MSIL) code or in a stand-alone PE file, that contains only assembly manifest information.


GAC (Global Assembly Cache) is where all shared .NET assembly reside.Each computer on which the Common Language Runtime is installed has a machine-wide code cache called the 'Global Assembly Cache'. The Global Assembly Cache (GAC) enables you to share assemblies across numerous applications. The GAC is automatically installed with the .NET runtime. The global assembly cache is located in 'Windows/WinNT' directory and inherits the directory's access control list that administrators have used to protect the folder.

The approach of having a specially controlled central repository addresses the shared library concept and helps to avoid pitfalls of other solutions that lead to drawbacks like DLL hell. The Global Assembly Cache Tool (Gacutil.exe), that allows you to view and manipulate the contents of the Global Assembly Cache.

.Net Assembly Contents

A .NET static assembly can consist of following elements:

a) Assembly Manifest - The Metadata that describes the assembly and its contents

b) Type Metadata - Defines all types, their properties and methods.

c) MSIL - Microsoft intermediate language

d) A set of Resources - All other resources like icons, images etc.Only the assembly manifest is required, but either types or resources are needed to give the assembly in any meaningful functionality.

No comments :

Post a Comment