I've been inspired by this article to change the way one of the teams at work has been handling a large solution.
We had a big problem with a large solution (over 100 projects) that had many web services and asp.net projects within it. the problems arose when the project needed to be built on a new machine at work. creating the project from source safe made for a big hassle because of the way vs.net handles web related projects - it requires they sit on a virtual directory on IIS to be built. SO virtual directories would be created on the new machine automatically but lots of times (especially when trying to re-get the whole project on the same machine multiple times) we would get new virtual directories with different names created automatically for us. This "broke" the solution for other machines which relies on different virtual directories names and so we got a big headache when working as a team on the same web project.
It was a nightmare.
The article suggests that web projects will not actually be "web projects" inside the solution, but instead will be class library projects which can be built just the same. You can easily drop web pages, asmx pages, controls and anything else you would have in a normal web project into a class lib project and it would build great. Only now you don't need to hassle with virtual directories being automatically created by vs.net. nope - you simply map your own directories on the build directories on your project and that's that. very easy and saves us a LOT of time.
Another bonus is that web projects are now saved under the source tree route instead of next to it with regular projects. Yes - its very nice.
anyone have experience with this? any other means of working with a shared web project?