It’s not the same GAC anymore.

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\

Published in: on August 21, 2007 at 17:24 Leave a Comment