How to take out the dlls from GAC ?
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.
Comments
Anonymous
August 13, 2008
PingBack from http://hoursfunnywallpaper.cn/?p=1372Anonymous
October 14, 2008
Hey Buddy, instead of modifying the registry you can use the following command from the cmd prmpt: SUBST G: C:WindowsAssembly and map the GAC to G: drive and then open any assembly using the .Net Reflector. RegardsAnonymous
October 15, 2008
Thanks Ketan. Also we can retrieve the GAC dlls using the UNC path like this. \MachineNamec$WINDOWSassemblyGAC_MSIL I think this is the most easiest way. So now we have 3 ways of getting the dlls from GAC :)Anonymous
October 15, 2008
The comment has been removedAnonymous
December 03, 2010
perfect ...good ways to get the assembly from GAC. Thanks