Critical Development

Language design, framework development, UI design, robotics and more.

Visual Studio Add-In: Reference Sentinel

Posted by Dan Vanderboom on December 20, 2007

My article on Project Reference Oddness has been the most popular so far.  I like seeing the blog statistics, and I’m constantly observing the search terms people use to get to my blog.  I guess I shouldn’t have been surprised by the number of people having problems with references and searching for answers online.  It’s a pretty messed up system.

I’ve been contemplating writing an add-in for Visual Studio that would track and manage references, set some rules, and enforce them. I’d like to be able to specify that I use v3.1 of Library X across all projects in a solution. I’d then like to be able to make a change in one place (like a Reference Explorer) and have it update all projects in the solution. If one of the references changes outside of this system (for whatever reason), it should act as a sentinel, detecting the change and changing it back to what you defined in the Reference Explorer.  (It should also notify you that this has happened to help troubleshoot the root cause.)

It could also set reference paths.  By saving this information as an extension to the solution file, it could be checked into source control and shared with the rest of your development team.  This should eliminate the warnings and errors you get when you accidentally reference different versions of the same assembly.  It would also reduce the pain of creating a new branch or pulling code down to a new machine and having to spend a bunch of time setting the reference paths over and over again.

Am I missing anything?  What other reference pains could be alleviated?

3 Responses to “Visual Studio Add-In: Reference Sentinel”

  1. R. D. Miller said

    Being able to support having prebuilt release and debug instances of .dlls would also be nice.

    Of course I can do this with project references, but if there’s some way of doing this with prebuilt dlls I have not figured that out yet.

  2. Pat O'Hara said

    Wondering if you ever got anywhere with this. We have exactly the same issues. We have a framework that has adapters (Add-ins). The Add-Ins should work with any build of the framework given that it is the same release (say 2.1), but as you already know each nightly build is a new version (,, etc). So I am wondering if you ever wrote this tool, especially as I had decied that I would have to.

    Pat O

  3. Dan Vanderboom said

    I never got started on it. If it were an open source project on CodePlex, I wouldn’t mind contributing some hours to it, but other priorities have come up and I don’t currently have these constant problems like I used to when I wrote this. If you do go ahead with it, I’d be happy to share some of my design ideas for it.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: