How to Locate Assembly in GAC

Here is a simple step by step process of how to locate an assembly in GAC if you want to take a copy of it, or maybe add an additional debug information .pdb-file for remote debugging purposes.

  • open command prompt
  • change the current folder to c:\windows\assembly (%SystemRoot%\assembly)
  • navigate to GAC_MSIL folder – that is where most of the time you will find the assembly
    (the list of all other folders in Assembly, with explanation for some of them, is below)
  • find the folder name with your assembly name without extension and navigate to it
  • additionally navigate down one more folder with the version information, and your assembly should be in that folder

Structure of Assembly folder

Here are examples of what you might see in Assembly folder on different computers:

 Windows XP 32-bit workstation:
– GAC
– GAC_32
– GAC_MSIL
– NativeImages1_v1.1.4322
– NativeImages_v2.0.50727_32
– temp
– tmp

Windows Server 2008 64-bit server:
– GAC
– GAC_32
– GAC_64
– GAC_MSIL
– NativeImages_v2.0.50727_32
– NativeImages_v2.0.50727_64
– temp
– tmp

  • NativeImages… – folders used for native images, which are typically compiled by ngen.exe.
  • tmp folder used for installation assemblies to GAC
  • temp folder is for uninstallation from GAC

Here are some ‘under the hood’ details on GAC Temp and Tmp folders and Install and Uninstall of assemblies.

Opening GAC assemblies with .NET Reflector 

If you are using .NET Reflector there are two things you can do to look what’s inside that assembly from GAC:

  1. make a copy of your assembly from GAC folder to a local folder (the steps explained above) and open the assembly from that local folder
  2. edit your reflector settings file: reflector.cfg, and add the following GAC paths there, then you should be able to open assembly right from open menu:
    [AssemblyCache]

    “%SystemRoot%\Assembly”
    “%SystemRoot%\Assembly\GAC”
    “%SystemRoot%\Assembly\GAC_MSIL”
    “%SystemRoot%\Assembly\GAC_32”
    “%SystemRoot%\Assembly\GAC_64”

Visual Studio 2008 Extensions for SharePoint (VSeWSS 1.3)

This one is the biggest pet peeve about SharePoint development for me right now.

Microsoft SharePoint product team is blowing all bells and whistles, announcing SharePoint 2010, and how important it is to switch to 64-bit environment, while poor SharePoint 2007 left in the dust and crippled with the only development extension working on 64-bit, which is still in CTP phase Visual Studio Extensions 1.3 (March 2009 CTP).

VSeWSS 1.3 was promised almost half a year ago to become a final release in the spring of 2009, and later on in one of the dev blogs mentioned July 2009 release date, but up to this date there hasn’t been any final version announcement or releases yet.

Also, if you are looking for more information and code snippets, you may still find useful referring to the samples that come with Visual Studio Extensions 1.1 for Visual Studio 2005 User Guide, which have been removed from 1.3 release.

I’m keeping my fingers crossed for the new release to come soon, while blaming it all for the recession…

Structured Procrastination and Perfectionism

Yes, I’m a procrastinator. Thing that I would never admit about myself just a couple of years ago, but as you grow older and more self aware, you start accepting certain aspects of your life and own behavior, regardless of how imperfect they are. Nonetheless, it doesn’t mean that there is absolutely nothing should be done about this, and acceptance is the only form of dealing with reality.

Almost ten years ago, when I was still fresh out of the university, sitting at work on a surprisingly sunny afternoon for Belgium, aimlessly browsing internet trying to get distracted from loads of not finished work, a colleague and a friend of mine, Solodon, stopped by my desk and told me that I absolutely must read one essay. I finished it in a couple of minutes, re-reading it over and over again after, catching more details each time. Just a couple of pages long, a truly amazing masterpiece, very humorous and easy reading essay was written by Stanford professor of philosophy, John Perry “Structured Procrastination”. The essay, which in a very playful entertaining way, suddenly opened my eyes and revealed hidden pattern of my own behavior, which my stubborn and lazy mind was trying to hide away.

And here I am, many years later, on another sunny afternoon only this time in Toronto, just like the author in his original work writing this blog post instead of doing other probably more important things, subconsciously trying to escape other tasks piling up on my desk and in my inbox. And for the same main reason – striving for perfection and postponing execution of other tasks, just so they can be done later, with desired level of attention and feeling of self accomplishment. Topic, which John Perry greatly outlined in his later essay “Procrastination and Perfectionism”.

…Why am I finally doing it? Because I finally found some uncommitted time? Wrong. I have papers to grade, textbook orders to fill out, an NSF proposal to referee, dissertation drafts to read. I am working on this essay as a way of not doing all of those things. This is the essence of what I call structured procrastination, an amazing strategy I have discovered that converts procrastinators into effective human beings…