Once I had a need to see the contents of an out-of-the-box SharePoint assembly (which was installed in GAC) using .NET Reflector tool. Assembly was: Microsoft.SharePoint.AdministrationOperation. Unfortunately we can’t locate this assembly in the physical file system of my SharePoint server. The only way would be take this assembly from outside the GAC – but how?
Since, the default view of the GAC folder is read-only I can’t copy it from there directly. Then, what I did was, opened the GAC in command prompt.
Here we can see the real anatomy of GAC folder.
And if we want to take that assembly, we have to go inside GAC_MSIL and the version number folder, which will be like below.
And then we can copy this assembly to other file location. (here I am copying it to C:\ drive)
That was the way I did it, but if we want to see the folder-wise structure of GAC, we can do it through by adding a registry entry. You can simply go to, HKLM\Software\Microsoft\Fusion and create a DWORD value named "DisableCacheViewer" and set it to value 1.
After that, open another instance of windows explorer, explore to c:\windows\assembly now and you see magic there. If you set the value of that DWORD value to 0 then you can switch back to the read-only view.
Please see the below screen shot to know how it will look like.
PingBack from http://hoursfunnywallpaper.cn/?p=1372
instead of modifying the registry you can use the following command from the cmd prmpt:
SUBST G: C:\Windows\Assembly
and map the GAC to G: drive and then open any assembly using the .Net Reflector.
Thanks Ketan. Also we can retrieve the GAC dlls using the UNC path like this.
I think this is the most easiest way.
So now we have 3 ways of getting the dlls from GAC :)
Ok let me add fourth one :)
Enter %systemroot%\assembly\gac_msil in the Run dialog box under the start menu and you should see the folder now (of-course this one is temporary one)
perfect ...good ways to get the assembly from GAC. Thanks