I just came across another bug in VS.Net 2005.
When I went to upgrade some of my projects from 2003 to 2005 I copied them to a new folder. So for the sake of simplicity lets say that my projects were in C:Projects and the 2005 versions are in C:Projects2005.
Some of the projects had a reference to a DLL located in C:ProjectsMyDLL, so when you run the upgrade wizard, it adds C:ProjectsMyDLL as a reference path for your new project located in C:Projects2005.
Now here is what ticked me off.
I had already taken the code from MyDLL and upgraded it to 2005, built the DLL, and put the DLL in C:Projects2005MyDLL.
So if you convert a project, it doesn’t know about that new 2005 version of MyDLL, so I was nice enough to go in, remove the 2003 reference, and repoint it to the 2005 version.
However, at this point it says “Oh I see you want me to use this DLL, but it looks like there is one with the same (whatever criteria it uses, maybe just the name?) in my reference path (C:ProjectsMyDLL), so I’ll just throw out whatever you were asking me to do and reference that one” which is EXACTLY what I didn’t want it to do.