Global Assembly Cache (GAC) in .NET - ablealias/asp.net GitHub Wiki
What is Assembly
Assembly is the smallest unit of deployment of a .net application. It can be a dll or an exe. In more simple terms: A chunk of (precompiled) code that can be executed by the .NET runtime environment (CLR)
.
There are mainly two types to it:
Private Assembly: The dll or exe which is sole property of one application only. It is generally stored in application root folder
Public/Shared assembly: It is a dll which can be used by multiple applications at same time. A shared assembly is stored in Global Assembly Cache (GAC).
Global Assembly Cache (GAC), Assemblies can be shared among multiple applications on the machine by registering them in global Assembly cache(GAC). GAC is a machine wide a local cache of assemblies maintained by the .NET Framework. We can register the assembly to global assembly cache by using gacutil command . We can Navigate to the GAC directory, C:\windows\Assembly in explore. Every computer where the CLR is installed has a reserved area for machine wide code
i.e known as GAC (global assembly Cache). Basically GAC stores assemblies specifically to be shared by many application on computer. Unlike in COM, there is no need for the assembly in GAC to be registered before its use. Each assembly is accessed globally without any conflict by identifying its name, version, architecture, culture and public key.