Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Where are assemblies installed into the GAC physically stored?

I want to export the assemblies built in my project. But where are they physically stored?

like image 839
Iralda Mitro Avatar asked May 02 '09 18:05

Iralda Mitro


2 Answers

I actually found this post, after i wrote my question. It's really good explained:

You'll be able to see them if you navigate to

c:\windows\assembly

with Explorer, where you'll see a nicely formatted list of assemblies.
The shell extension responsible for this view shows not just assemblies in the GAC, but also the native versions of assemblies pre-compiled with ngen.exe.
But the files aren't actually stored here - the shell extension simply masks their true location. You can see where the files are really stored by navigating to the same directory via a command prompt.
In this location are a number of subdirectories, including one named GAC. Buried here under several layers of hash codes and assembly names resides the physical assemblies, along with an old-fashioned .INI file that contains the strong name amongst other things. It's worth exploring in this uncharted territory just to understand what's going on under the covers, although beware of making changes as the GAC is intended to be opaque.

like image 156
Iralda Mitro Avatar answered Oct 15 '22 15:10

Iralda Mitro


They are stored in %systemroot% in a folder named assembly

The %SystemRoot% variable is a special system-wide environment variable found on Microsoft Windows NT and its derivatives. Its value is the location of the system folder, including the drive and path.

The drive is the same as %SystemDrive% and the default path on a clean installation depends upon the version of the operating system. By default, on a clean installation:

* Windows NT 5.1 (Windows XP) and newer versions use \WINDOWS
* Windows NT 5.0 (Windows 2000), Windows NT 4.0 and Windows NT 3.1 use \WINNT
* Windows NT 3.5x uses \WINNT35

(from wikipedia)

like image 30
Ed Guiness Avatar answered Oct 15 '22 16:10

Ed Guiness