Click here to Skip to main content
Click here to Skip to main content

Extract GAC Assemblies

, 6 Jan 2007 CPOL
Rate this:
Please Sign up or sign in to vote.
Extracts .NET assemblies from GAC

Sample Image - Extract_GAC_Assemblies.jpg


Well, today I am going to write a simple but useful utility program that can be used to extract the .NET assemblies from the Global Assembly Cache.


Couple of days ago, I was working with the SharePoint object model and I found that I need to extract some assemblies that are installed in the GAC of my machine. And there was no ready-made tool to do that task. That's why I thought of writing one and posting it here so that next time, it would be easier to do this for me as well as for other developers.

Using the code

I guess most of the readers know the structure of the GAC. But I am explaining it again briefly here. After installation, .NET assemblies remain in the $(windir)\assembly\GAC directory which can be found in the Windows directory (this is the usual scenario). And inside this directory, an assembly is stored under a directory which has a name similar to that of the assembly. Inside this directory there is another directory which is named XXXXX__YYYYY and underneath this directory the actual assembly is stored. Here XXXXX is the version number of the assembly and YYYYY is the public key token. This is because you know that .NET eliminates the "DLLHELL" with its elegant side by side execution. So another assembly that has the same name but a different version can be stored in the GAC without any ambiguity.

Well, inside the code I am just exploring the $(windir)\assembly\ directory programmatically. You cannot explore this directory using Windows explorer. The only way to see the real content of this directory is by using the command shell.

There is nothing more to say here. The code is pretty simple. It simply explores that directory and provides some functionality to extract/install one or more assemblies from/to the Global Assembly Cache.


I hope you will enjoy this!


This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


About the Author

Moim Hossain
Architect BlueCielo ECM Solutions
Netherlands Netherlands
Just another developer.
Follow on   Twitter

Comments and Discussions

GeneralMy vote of 5 Pinmemberradumi7-Mar-11 19:26 
GeneralJust Two lines of code is need Pinmemberdkumbhar9-Jun-10 11:44 
GeneralNice codes PinmemberMember 427330727-Mar-09 22:56 
GeneralRe: Nice codes PinmemberMoim Hossain27-Mar-09 22:57 
GeneralYet another way of Exploring GAC in Windows Explorer PinmemberJimmyRopes8-Oct-08 13:23 
General"Extract GAC Assemblies"...Thanks PinmemberxCOOPERx3-Oct-07 0:01 
GeneralRe: "Extract GAC Assemblies"...Thanks PinmemberMoim Hossain3-Oct-07 2:40 
GeneralTHANKYOU Pinmembervijaynats7-Jul-07 8:23 
GeneralRe: THANKYOU PinmemberMoim Hossain7-Jul-07 19:06 
Generalanother way PinmemberEffun Din12-Mar-07 15:17 
GeneralRe: another way PinmemberMoim Hossain3-Oct-07 2:41 
GeneralJust use SUBST command Pinmemberstevenmcohn8-Jan-07 9:22 
GeneralRe: Just use SUBST command PinmemberMoim Hossain8-Jan-07 21:12 
GeneralThanks PinmemberUsman Shaheen6-Jan-07 23:27 
Thanks for the nice utility
GeneralRe: Thanks PinmemberMoim Hossain7-Jan-07 4:50 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.

| Advertise | Privacy | Terms of Use | Mobile
Web01 | 2.8.150327.1 | Last Updated 6 Jan 2007
Article Copyright 2007 by Moim Hossain
Everything else Copyright © CodeProject, 1999-2015
Layout: fixed | fluid