One of the more frustrating aspects of working with shared assemblies, was Visual Studio's refusal to allow you to directly reference them via the Browse tab of the Add Reference dialog box. Sure, you *could* navigate to C:\Windows\Assembly and see a nifty icon which represents the library you wish to reference, but no matter how hard you try, VS would not allow you to select it for use in your application.
This required developers to have two stacks of libraries, one for referencing and one for runtime use (in other words, in the GAC).
To make matters more annoying, other IDEs, such as SharpDevelop (www.sharpdevlop.com) do allow you to navigate to the GAC, and reference a library as expected.
Thankfully, Visual Studio 2010 has changed for the better. When you use the Browse tab of the Add Reference dialog box, you can indeed navigate to C:\Windows\Assembly and see the underlying sub-directory structure! GAC, GAC_32, GAC_MISL and GAC_64 (if you are running the correct version of Windows) are all realized as "normal" directories, rather than fancy icons which can't be selected.
Do remember that under the GAC directory, you will need to drill down to the unique (auto created at the time of installation) folder, which always follows the following naming convention:
Major.Minor.Build.Revision__publicKeyToken
Some times the little things DO mean a lot ;-)
ae7c1fc9-7148-4082-8c1e-b2a2c5b9011a|2|5.0