I've had some difficulties with VS 2005, but at the moment I think I have workarounds for each problem I've faced.
This option is cool, when it works. In Tools:Options:Windows Form Designer, there's an option for AutoPopulateToolbox. Here's what it says it does:
Toggles whether the toolbox is automatically populated with Components built by the project. The current solution must be closed and reopened for changes to take effect.
Now that's a great feature, so I turned it on... but nothing happened, even after restarting studio. After some investigation I found that any projects that are located within solution folders don't get used for populating the toolbox. I've since found that this is documented in Microsoft Connect, and Jelle Druyts blogged about it.
The workaround for this issue is to move any projects with components/controls (that you want in the toolbox) up to the solution root. Not too bad in my case. I ended up leaving my Business and Data layers in solution folders, and left the UX projects at the root (yes, I'm jumping on the Vista "User Experience" bandwagon).
And actually, after applying this workaround, I found that I don't even need to close and re-open the solution for items to pop up in the toolbox. I just need to make sure the class is marked as public and then rebuild. Pretty neat stuff.
White Screen Of Darn (WSOD)
This is Microsoft's term, not mine :) After getting my project skeleton going, I started creating some custom controls, and then creating a form to test drive my Model-View-Presenter pattern. Everything was great until I closed and re-opened studio. I had left my form open in the designer, but it didn't re-open correctly; instead I got this error:
I immediately starting googling for this error ("One or more errors...") because I was afraid I had set something up wrong. I found KB912019 and I thought it was my problem. I submitted a ticket with Microsoft and they supplied me with the hot-fix for this item. Unfortunately, the hot-fix didn't make my error go away. I did find that if I close the form and re-open it, the form loads in the designer just fine, so the error is really just annoying more than anything.
Microsoft called back today to see if the hot-fix had worked for me, and I explained that it didn't. I talked them through exactly what I was seeing and they submitted a new ticket for me. Alix from the User Interface Developer Support group called me back a few hours later, and she was great. We did a LiveMeeting so she could see the error happen and see my workaround as well as check out the solution structure (which has lots of projects, but very little code at the moment). I told her that I could clean-room my solution and zip it up for her so that she could play with it.
Alix did mention that when looking at KB articles for WSOD errors, to pay attention to the call-stack. Ignoring the call-stack, many errors will appear to be the same, but even the slightest difference in the call-stack could mean a drastic difference in the problems. Makes sense and I should've recognized this.
In the processing of sanitizing the solution (to remove the actual business objects and whatnot and get it to bare-bones), I found a pattern in the problem. Guess what... Solution Folders are the culprit! But after some playing, I found that my solution file was just out of whack somehow. Here are the steps I found that I could follow to get my solution file back into shape:
- Remove all Solution Folders (which also removes all projects within those folders)
- Add the Solution Folders and the projects back into the solution (in any order)
- Add any missing references back into the projects
I have been unable to reproduce the problem with a new solution file. But it's good to know that if the error resurfaces, it's just a corrupt solution file.
All is good at the moment
So, I'm happy at the moment. It seems like Solution Folders have introduced some bugs, but I've got decent workarounds at the moment. I anticipate I'll run into many more problems with VS 2005 based on what I've heard from friends and colleagues. But I will say I was pretty impressed with Microsoft for paying my problem immediate attention, especially for something that was truly just an annoyance and not hindering my productivity. I do wish they'd get VS 2005 SP1 out the door though, as I understand there will be a ton of fixes in it.