Within the .NET framework, the Global Assembly Cache (GAC) plays the role of a central repository for shared assemblies. Shared assemblies are designed to be shared across applications for efficiency. The Global Assembly Cache (GAC) controls versioning and makes sure global assemblies are available to applications that need them. It also ensures that only authorized applications have access to particular shared assemblies during runtime.