Referencing Pipeline Hints

Jan 14, 2008 at 10:36 PM
OK, Maybe I'm just being ditz brained this afternoon, but I do not see Pipeline Hints to reference it. It's apparently in the GAC, because I can successfully build the common pipeline scenarios project. However, I thought things inthe GAC showed up in the .NET page of the references dialog and I do not see it there.

Help!?
Jan 15, 2008 at 12:13 AM
This is actually an very common mis-understanding about the way those references tabs work in VS that I think is largely caused by the fact that we (MSFT) do a very poor job of documenting it or describing the tabs correctly in the UI.

The ".Net References" tab is actually populated by searching in a set of places and the GAC is specifically not one of them. If you want to add a references to PipelineHints you can just browse to the location you installed the add-in and add a reference to the copy of the assembly that sits there. Once you do that it will show up in the "Recent" tab and you can find it from there.

Jan 15, 2008 at 4:08 PM
Cool, you're aswesome. That probably makes an entry in my next column ("Ask Kathleen" Visual Studio Magazine and at VisualStudioMagazine.com). Of course that means I'll be mentioning PipelineBuilder in my March column, so hopefully we'll have a few things smoothed out by then.

BTW, I think that's a dumb way for the .NET references tab to work, but that's not our issue. Or maybe we need a GAC tab.
Jan 16, 2008 at 11:15 PM
Just to give you a little more context as to why GAC assemblies don't show up in your .Net References tabs:

The overall theory is that the state of your machine (particularly the set of applications currently installed) shouldn't impact whether or not your build succeeds or fails. Since the gac exists primarily to serve as a location to load dependencies at runtime, VS specifically does not add its contents to that references tab. Whether or not the implementation is optimal is definitely up for debate but I think the general principal is overall a good one.

The problem here is that this theory breaks down when the dependency is meant to be loaded and executed at build time and never actually gets used at runtime, which is the situation with PipelineHints