MZ-Tools Articles Series: HOWTO: Reference a Visual Studio assembly in the GAC from an add-in
The extensibility model for Visual Studio add-ins sometimes is not enough to meet your needs and you need some service from a Visual Studio package, but you don't want to transform your add-in into a VSPackage, you just want to get some service only available to VS packages. I will blog about it in another post, but the first thing to understand is that you don't need in many cases to install the Visual Studio SDK (or VSIP in previous versions) since some assemblies are in the GAC or other Visual Studio folders. If you have the assembly and the SDK documentation (available online), you don't need to get your computer "dirty" with the SDK or CTPs, etc.
The problem is how to reference assemblies that seem to be only in the GAC (such as Microsoft.VisualStudio.OLE.Interop). You can't really reference an assembly in the GAC but here is a workaround:
HOWTO: Reference a Visual Studio assembly in the GAC from an add-in