---
title: "Global Assembly Cache (GAC)"  
description: "In this blog, I’m explaining the concept of global assembly cache (GAC).  The Global Assembly Cache is a machine-wide store used to hold assemblies th"  
author: "Anchal Kesharwani"  
published: 2014-08-14  
updated: 2014-09-18  
canonical: https://www.mindstick.com/blog/685/global-assembly-cache-gac  
category: ".net"  
tags: [".net"]  
reading_time: 2 minutes  

---

# Global Assembly Cache (GAC)

In this blog, I’m explaining the concept of [global assembly](https://www.mindstick.com/forum/158570/what-is-the-global-assembly-cache-gac-and-how-is-it-used-in-dot-net) cache (GAC).\

The Global Assembly Cache is a machine-wide store used to hold assemblies that are intended to be shared by several [applications](https://www.mindstick.com/articles/12847/how-to-choose-the-right-ethernet-cable-for-industrial-applications) on the machine. Each computer where the [common language runtime](https://www.mindstick.com/articles/16/common-language-runtime) (CLR) is installed has a global assembly cache. The global assembly cache stores mostly shared assembly. The assembly may be used by more than one [application](https://www.mindstick.com/articles/12824/calculator-application-in-android) and more than one version of the assembly may be required. Multiple versions can sit side-by-side in the GAC.

In the .NET, for shared assembly two tools one is windows shell [extension](https://www.mindstick.com/articles/22/extension-method) allows you to work with the cache using Graphical [User Interface](https://www.mindstick.com/interview/22909/user-interface-objects-in-cocoa) (GUI) and another one is a [command line](https://www.mindstick.com/forum/158085/how-do-i-pass-command-line-arguments-to-a-node-js-program) tool, called the Global Assembly Cache tool (Gacutil.exe), that is typically used in build and test scripts.

##### Global Assembly Tool

This tool allow you to view and manipulate

##### Syntax:

gacutil [options] [assemblyName | assemblyPath | assemblyListFile]

where,

assemblyName : The name of an assembly.

assemblyPath : The name of a file that contains an assembly manifest.

assemblyListFile : The path to an ANSI [text file](https://www.mindstick.com/forum/2174/how-do-i-locate-a-particular-word-in-a-text-file) that lists assemblies to install or uninstall.

Options:-

/i assemblyPath : Installs an assembly into the global assembly cache.

/il assemblyListFile : Installs one or more assemblies specified in assemblyListFile into the global assembly cache.

/l [assemblyName] : Lists the contents of the global assembly cache. If you specify the assemblyName parameter, the tool lists only the assemblies matching that name.

/u assemblyName : Uninstalls an assembly from the global assembly cache.

---

Original Source: https://www.mindstick.com/blog/685/global-assembly-cache-gac

Copyright © MindStick Software Pvt. Ltd. This Markdown version is provided for developers, AI systems, and offline reading.
