---
title: "What is the Global Assembly Cache (GAC) and how is it used in .NET?"  
description: "What is the Global Assembly Cache (GAC) and how is it used in .NET?"  
author: "Revati S Misra"  
published: 2023-05-31  
updated: 2023-06-01  
canonical: https://www.mindstick.com/forum/158570/what-is-the-global-assembly-cache-gac-and-how-is-it-used-in-dot-net  
category: ".net"  
tags: [".net", "asp.net", ".net framework"]  
reading_time: 2 minutes  

---

# What is the Global Assembly Cache (GAC) and how is it used in .NET?

What is the [Global](https://www.mindstick.com/articles/13127/macro-and-microeconomics-concepts-in-relation-to-global-organization-management) [Assembly](https://www.mindstick.com/articles/25/global-assembly-cache) [Cache](https://www.mindstick.com/blog/222/clearing-cache-in-asp-dot-net) ([GAC](https://www.mindstick.com/blog/339/gac-global-assembly-cache-in-dot-net)) and how is it used in .NET?

## Replies

### Reply by Aryan Kumar

The Global Assembly Cache (GAC) is a central repository for assemblies in the .NET Framework. It is a shared location where assemblies can be installed so that they can be used by multiple applications.

The GAC is located in the C:\Windows\assembly directory. Assemblies can be installed in the GAC using the gacutil.exe tool.

When an assembly is installed in the GAC, it is given a strong name. A strong name is a unique identifier that is used to identify the assembly. Strong names are used to prevent assemblies from being tampered with.

Assemblies in the GAC are loaded by the Common Language Runtime (CLR) before they are executed. This ensures that the CLR can verify the integrity of the assembly and that the assembly has the correct security permissions.

The GAC is a secure location for installing assemblies. It is also a convenient location for installing assemblies because it is shared by all applications on the computer.

Here are some of the benefits of using the GAC:

- **Security:** The GAC provides a secure location for installing assemblies. This is because assemblies in the GAC are given strong names and are loaded by the CLR before they are executed.
- **Convenience:** The GAC is a convenient location for installing assemblies because it is shared by all applications on the computer. This means that you only need to install an assembly once in the GAC and it will be available to all applications that need it.

However, there are also some drawbacks to using the GAC:

- **Performance:** The GAC can slow down the startup of applications because the CLR needs to check the GAC for assemblies that are needed by the application.
- **Management:** The GAC can be difficult to manage because it is a central repository for assemblies. This means that you need to be careful when installing assemblies in the GAC because they will be available to all applications on the computer.

Overall, the GAC is a secure and convenient location for installing assemblies. However, it is important to be aware of the performance and management drawbacks of using the GAC.


---

Original Source: https://www.mindstick.com/forum/158570/what-is-the-global-assembly-cache-gac-and-how-is-it-used-in-dot-net

Copyright © MindStick Software Pvt. Ltd. This Markdown version is provided for developers, AI systems, and offline reading.
