So, you think you know where the GAC is…
The problem (a.k.a. “why do I need to know?”)
Windows doesn’t let you access the GAC assemblies directly from Explorer. You just get the basic GAC metadata and can only add/remove entries but not manipulate them. You can’t even see file size!
The solution for .NET 1.1 (a.k.a. “oh, I already know that”)
You probably know you can access these assemblies using the console window by diving into the C:\WINDOWS\assembly\GAC\<assembly-name.dll> folder.
What changed in .NET 2.0 (a.k.a. “more places to hide in”)
The .NET 2.0 GAC is split between several folders.
Mostly you’ll find what you’re looking for in the C:\WINDOWS\assembly\GAC_MSIL\<assembly-name.dll> folder.
The previous “GAC” folder still exists and contains only .NET 1.1 assemblies.
There are a couple of other “GAC” prefixed folders which contain 32 and 64 bit specific assemblies. In these folders you’ll find assemblies which use some native code.
In short
|
.NET Version |
GAC Location |
|
1.1 |
C:\WINDOWS\assembly\GAC\ |
|
2.0 |
C:\WINDOWS\assembly\GAC_MSIL\ and C:\WINDOWS\assembly\GAC_32\ and
C:\WINDOWS\assembly\GAC_64\ |


