How to view the Folder and Files in GAC?
System Design practice on Codemia
Work through 120+ system design problems with detailed solutions, from rate limiters to multi-region storage.
Introduction
The Global Assembly Cache, or GAC, is a machine-wide store for strongly named .NET Framework assemblies. You can browse it, but Windows exposes it through a special shell view that can make the underlying folder layout confusing. The practical answer depends on what you mean by "view": you might want the Explorer view, the real filesystem location, or a tool-based listing of installed assemblies.
Know Which .NET You Are Dealing With
The GAC is a .NET Framework concept. Modern .NET, such as .NET 5 and later, does not use the GAC in the same way.
So if you are working with a .NET Framework application, the GAC is relevant. If you are working with newer SDK-style .NET, you may be looking in the wrong place entirely.
View The GAC In Explorer
On .NET Framework systems, opening this path in Explorer often shows the shell-managed GAC view:
That special view presents assemblies in a user-friendly way rather than exposing the raw directory tree directly.
If your goal is simply to see which assemblies are there, this can be enough.
View The Underlying Folder Structure
If you want the actual folders, use the real filesystem path instead.
This location typically contains directories such as:
- '
GAC_32' - '
GAC_64' - '
GAC_MSIL' - '
NativeImages_*'
These folders reflect architecture and runtime layout rather than the simplified Explorer shell view.
Use Command Line To Inspect Contents
Command-line tools are often clearer when you want a raw listing.
In Command Prompt:
To search recursively:
In PowerShell:
This gives you the actual files and subdirectories instead of the shell abstraction.
Use gacutil For Assembly Listings
If the .NET Framework SDK tools are installed, gacutil can list assemblies in the GAC.
To filter for a specific assembly:
This is often the most useful answer when you care about installed assembly identities rather than folder names.
Why The GAC Looks Strange In Explorer
The GAC was designed for assembly identity and version management, not for casual file browsing. Windows therefore exposes it through a shell extension that groups assemblies by display identity instead of showing a plain directory list at first glance.
That is why many developers think the GAC is "hidden" or "virtual" when in reality the files do exist on disk, just behind a special Explorer presentation.
Common Pitfalls
The most common mistake is looking in the GAC for a .NET 5 or later application. Those runtimes do not rely on the classic GAC model.
Another issue is confusing C:\Windows\assembly with the underlying physical directories. The shell view and the file layout are related, but they are not the same browsing experience.
It is also easy to assume that copying files manually into these folders is a normal management technique. It is not. Assembly installation and removal should be done with the proper tools and deployment mechanisms.
Finally, remember that administrative permissions and SDK tools may affect what commands are available on a given machine.
Summary
- The GAC is mainly relevant to .NET Framework, not modern .NET in general.
- '
C:\Windows\assemblyshows the shell view of the GAC.' - '
C:\Windows\Microsoft.NET\assemblyexposes the underlying folder layout.' - Use
dir, PowerShell, orgacutil -lwhen you want raw listings or assembly identities. - Do not confuse viewing the GAC with manually managing assemblies inside it.
Related reading
- How to write a scalable TCP/IP based server
- How to write more than 25 items/rows into Table for DynamoDB?
- How would you implement an LRU cache in Java?
- How would you program a strong read-after-write consistency in a distributed system?
- How to wait for a async void method to complete its task?
- How to wait for a BackgroundWorker to cancel?
- How ZooKeeper guarantees Single System Image?
- IBM MQ Multi-Instance Queues

System Design Fundamentals
Build a strong foundation in designing scalable, reliable distributed systems.
View the courseTrack what you have practised
A free account saves your progress, solutions and study plan across every problem on Codemia.
System Design practice on Codemia
Work through 120+ system design problems with detailed solutions, from rate limiters to multi-region storage.