views:

40

answers:

2

Is there a way to make visual studio not care about dll versions? Is this a bad idea?

I am resetting up my dev machine and I just installed the latest version of Pex and Moles (version .92). All my projects are on version .91.

We are in the middle of a release and don't want to upgrade right now. Also, I cannot find an installer to version .91.

When I try to compile I get a message that I am missing the reference. (Hence this question)

+4  A: 

The version is important.. By definition, there is a difference from each released version to the next (or there would be no need for a new version). Your program may not perform correctly if you are expecting one version and instead have another.

This was a part of what was known as "DLL Hell" in the pre-.NET days... If you needed to use a third party component (Crystal Reports Viewer is one we always had to deal with), you would just use the reference to whatever installed version was on the user's PC. Our retail locations had to have a specific version of Crystal Reports for their bookwork reports to print correctly, and because of that, we had to hold on to an old version forever.. Upgrading Crystal on the PC broke the vendor's bookwork app. On my first ever PC, I had several applications break when I would install or upgrade another. In particular, Real Player broke my telephone answering machine software. Goofy stuff like that...

So, the version IS important, even if it is an annoyance. It's also why I have a bias against third party tools that I have no code for, and can't recompile myself.

David Stratton
+2  A: 

If you look at the properties of a referenced DLL, you will see a property "Specific Version". If you set it false, it doesn't track the specific version in the project file.

For this to work, you have to somehow fix the references where ever they are used. You can do this by opening every solution and fixing the references (at which time you could also just update the references to the correct version, paying heed to David's comments).

If you have a lot of solutions, you might use a tool like sed (see this post for windows versions of tool like this http://stackoverflow.com/questions/127318/is-there-any-sed-like-utility-for-cmd-exe/127567#127567) to just update the project files as needed all at once.

Greg McGuffey