VS2005 Beta 1 Refresh and Visualizers

James Avery recently emailed me to see if I had experienced any problems with the refresh and some of the visualizers that I have written in the past.

As I had not yet bothered with the install I couldn’t confirm for him but we got a pointer from Scott Nonnenberg to check that the Microsoft.VisualStudio.Debugger.Visualizers dll was referenced in the project.

Yesterday I got the dvd so I went ahead and uninstalled the beta (but no the framework or other dependent stuff since apparently, the refresh only adds Team System). Then I discovered the same affect that James had. My custom visualizers did not work, but the ones that came with VS did.

Here is how I fixed it.

The quick list:
In your visualizer’s project
– Remove meehost.dll from references.
– Add a reference Microsoft.VisualStudio.Debugger.Visualizers
– Rebuild
– Copy resulting dll to My Documents\Visual Studio\Visualizers
In client application
-be sure that the visualizer’s assembly (dll) is NOT referenced

The Julie-style verbose explanation

The original project referenced meehost.dll. This needs to be removed and replaced with a reference to Microsoft.VisualStudio.Debugger.Visualizers. Note that if you leave meehost in there and add the other, you will learn that they have duplicate classes etc which is why I removed meehost.dll. (This is in the actual project where you build the visualizer). Rebuild the visualizer and copy the assembly into My Documents\Visual Studio\Visualizers folder.

This still did not fix the problem totally as I got a new error that happened on both my custom and the included visualizers. I noticed that my visualizer assembly was referenced in the client project. That shouldn’t be necessary as the visualizer is available to all projects once it’s copied into the (above mentioned) folder. So I removed that and voila – all was well.

  Sign up for my newsletter so you don't miss my conference & Pluralsight course announcements!  

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.