Thursday, March 13, 2008

GAC Browser – An Introduction

Audience: Microsoft .NET Developer, Support people of huge .NET softwares

Problem: When you are dealing (installation, un-installation, development or support) with huge software with multiple assemblies installed in Global Assembly Cache (GAC), you will have a glance of “hell” while searching the assemblies through in-build assembly viewer on windows explorer. You will be introduced to full feature hell when you get into problem of uninstalling a traced referenced assembly which is not directly possible by popular ‘gacutil’ command. And, you will be deep into hell on occasion of accidental removal of an assembly without any backup. Surprisingly, Microsoft doesn’t seem to care about these features even when the world is in verge of hailing 3rd major release of .NET

Scope of the software: I felt a need of software to ease/eliminate above problem. Objective and vision of the software is to deal with GACed assembly completely for GAC search, software un-installation, development and support purpose.

Features: GAC Browser is powerful tool to search and remove assembly. It is must have tool for anyone dealing with assemblies in GAC. On an average, if you have visual studio 2005 installed on your PC, you may see more than 1000 assemblies on you PC. There is no good way of searching assembly in you GAC unless you have GAC Browser with you. Also, visibility in GAC is increased with more info like when it was last GACed. Double click any assembly to de-assemble the assembly in ILDASM. All in one! That’s why I said it a “must have”!

At the time, when this is written, GAC Browser supports,

· View All Assemblies form GAC.
· Search assemblies based from part of assembly name or public key.
· Sort the searched list based on any assembly attribute.
· Select one or more assemblies and remove them. Application can remove assemblies which is installed by any installer.
· Refresh your search.
· Think about suffering that you may bear to open an assembly of GAC with ILDASM. It's all easy here! Right Click and select 'Open with ILDASM' to open the assembly in IL Disassembler (ildasm), an inbuilt tool that comes with .NET.


Se See picture given below to know where to clik..Note that you have to set proper $path environment variable so that "ildasm" can work.

How to get it? You can download and install MSI for x86 CPU architecture, which also runs on x64 or AMD64, from here: http://sourceforge.net/project/showfiles.php?group_id=214315

2 comments:

Anonymous said...

Hello, thanks for very usefull tool.
We use FileVersion (...) to replace assemblies with same version. It will be very usefull to have the FileVersion displayed.
Thanks
Stephane

Yogee said...

Hi Stephane,

That's a great idea. I will look to add generic configuration where you can add more column in view from assembly information.