Click here to Skip to main content
15,861,125 members
Articles / Operating Systems / Windows
Article

Extract GAC Assemblies

Rate me:
Please Sign up or sign in to vote.
4.45/5 (14 votes)
6 Jan 2007CPOL2 min read 66.3K   852   22   15
Extracts .NET assemblies from GAC

Sample Image - Extract_GAC_Assemblies.jpg

Introduction

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.

Background

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.

Conclusion

I hope you will enjoy this!

License

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


Written By
Architect
Netherlands Netherlands
Engineer Powered by the Cloud

Comments and Discussions

 
GeneralMy vote of 5 Pin
radumi7-Mar-11 18:26
radumi7-Mar-11 18:26 
GeneralJust Two lines of code is need Pin
dkumbhar9-Jun-10 10:44
dkumbhar9-Jun-10 10:44 
GeneralNice codes Pin
Member 427330727-Mar-09 21:56
Member 427330727-Mar-09 21:56 
GeneralRe: Nice codes Pin
Moim Hossain27-Mar-09 21:57
Moim Hossain27-Mar-09 21:57 
GeneralYet another way of Exploring GAC in Windows Explorer Pin
JimmyRopes8-Oct-08 12:23
professionalJimmyRopes8-Oct-08 12:23 
General"Extract GAC Assemblies"...Thanks Pin
HolyRoot2-Oct-07 23:01
HolyRoot2-Oct-07 23:01 
GeneralRe: "Extract GAC Assemblies"...Thanks Pin
Moim Hossain3-Oct-07 1:40
Moim Hossain3-Oct-07 1:40 
GeneralTHANKYOU Pin
vijaynats7-Jul-07 7:23
vijaynats7-Jul-07 7:23 
GeneralRe: THANKYOU Pin
Moim Hossain7-Jul-07 18:06
Moim Hossain7-Jul-07 18:06 
Generalanother way Pin
Yifeng Ding12-Mar-07 14:17
Yifeng Ding12-Mar-07 14:17 
GeneralRe: another way Pin
Moim Hossain3-Oct-07 1:41
Moim Hossain3-Oct-07 1:41 
GeneralJust use SUBST command Pin
stevenmcohn8-Jan-07 8:22
stevenmcohn8-Jan-07 8:22 
From four years ago... http://weblogs.asp.net/jkey/archive/2003/02/25/3006.aspx

Sniff | :^)

\Steven
GeneralRe: Just use SUBST command Pin
Moim Hossain8-Jan-07 20:12
Moim Hossain8-Jan-07 20:12 
GeneralThanks Pin
Usman Shaheen6-Jan-07 22:27
Usman Shaheen6-Jan-07 22:27 
GeneralRe: Thanks Pin
Moim Hossain7-Jan-07 3:50
Moim Hossain7-Jan-07 3:50 

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

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