When VS.NET 2005 first came out, it had a new (and only) web project template. This new template was primarily designed for two purposes. 1) It was designed to make it easier for the individual developer who builds one or two sites. 2) It was designed to make it easier to bring in an existing non Visual Studio site into Visual Studio. For more information on this template you can take a look at http://weblogs.asp.net/scottgu/archive/2005/08/21/423201.aspx Once you read this link you will find that there are other "compelling" reasons for using this new template. However…
There are reasons why this template is not the best template for an enterprise level development environment.
1) If you have existing VS.NET 2003 web projects the migration to 2005 is cumbersome if you use the new template.
2) The new template copies all the references to outside dlls into its own structure. This I believe is a flaw in this template. Consider an environment where you have many shared assemblies. These assemblies could be server controls or business rules or 3rd party assemblies. With the new web project there is no easy way to have a common shared assembly library. Instead every single project will have its own copies of the assemblies. Of course this could be beneficial in some cases but in most cases it could create chaos. Well, I’m not the only person who feels the same way. If you were to do a search on the web (Google it – can you believe that’s an accepted verb?) you will find that many people also feel the same way. And the sentiment was so wide spread that Microsoft came out with a new "old" template which is the same we had in VS.NET 2003. You can download the new template from http://msdn.microsoft.com/asp.net/reference/infrastructure/wap/default.aspx I feel that as an organization we should use this template as our default and only use the new one when absolutely necessary.