Abbreviated as GAC, the Global Assembly Cache is a
machine-wide store used to hold assemblies that are intended to be shared by
several applications on the machine. Each computer where the common language
runtime (CLR) is installed has a global assembly
cache. The global assembly
cache stores the assemblies specifically designated to be shared by several
applications on the computer.
The .NET Framework provides two tools for
working with the cache. One is a Windows shell extension that allows you to work
with the cache using a Graphical User Interface (GUI). The other is a command
line tool, called the Global Assembly Cache tool (Gacutil.exe), that is
typically used in build and test scripts.
Demystifying the .NET Global Assembly Cache As a general rule, the Windows Registry is considered legacy within .NET and XCOPY deployment is highly encouraged, which in turn implies building assemblies that are private to a program’s main executable. Yet, there is a definite need for a central repository for .NET System assemblies as well as other user created Shared assemblies and it is this very need which is addressed by the GAC.
Introducing Global Assembly Cache (GAC) A computer installed with the common language runtime has a machine-wide code cache known as Global Assembly Cache. In the .NET Framework, the Global Assembly Cache acts as the central place for registering assemblies.
Working with Assemblies and the Global Assembly Cache If you intend to share an assembly among several applications, you can install it into the global assembly cache. Each computer where the common language runtime is installed has this machine-wide code cache.
Working With the .NET Global Assembly Cache In this article, Dennis Salguero & Barry Dwyer take a look at the new Global Assembly Cache within .NET. It allows us to manage our DLL assemblies in an easy manner and it provides a level of security that was not previously available when working with COM objects.