Karl Seguin

Sponsors

The Lounge

Wicked Cool Jobs

Advertisement

Images in this post missing? We recently lost them in a site migration. We're working to restore these as you read this. Should you need an image in an emergency, please contact us at imagehelp@codebetter.com
ASP.NET 2.0 Project Model - Continues to be a thorn in my side

I know this has been talked about to death, but the introduction of the not-so-new project model in ASP.NET 2.0 as the default (and only (at the time)) model continues to be a pain in my ass. I always start off using it, running into one limitation or another, and switching to the deployment project or the one that makes it act like it did in 1.x (whatever it's called).

I can't remember where, but I'm pretty sure Scott Guthrie acknowledge that the new model had a greater [negative] impact on enterprise developers than was expected. Hopefully the ASP.NET team knows that it isn't just enterprise developers migrating from 1.x to 2.0 that are having problems with the new model.

It's ridiculous the volume of questions relating to the new model that is asked in the public newsgroup. If it were possible to calculate, I have little doubt that it was responsible for more question/confusion than any other feature of ASP.NET (with the membership provider being #2...and atlas quickly climbing the charts). If both sides of the spectrum are stumbling around like crazy, who the heck is this feature for? The new project model and deployment project pretty much solve the enterprise developers problems, but everyone else is just confused over the added complexity. How do I add a default namespace? How do I reference a page / user control class? How do I add a handler/module in my web.config? What impact will it have on my typed datasets? Not really solved yet - SP1 should help.

It just isn't clear to me who this new feature was for. It seems like a power-user feature that the power user's just didn't want, and that left everyone else a little confused. The fact that the new-old project model was finally released is both a blessing and an annoyance - they've acknowledge the problem and come through to solve it (except for the mass amount of people who don't know about it) yet it's clear that there needn't be a problem in the first place.

Introduce breaking changes to your API only after great reflection


Posted Mon, Sep 25 2006 2:32 PM by karl

[Advertisement]

Comments

chris_s wrote re: ASP.NET 2.0 Project Model - Continues to be a thorn in my side
on Mon, Sep 25 2006 2:49 PM

I guess those of us who love it just don't talk about it enough.  It's my favorite change in ASP.NET 2.0.  It has approximately doubled our productivity.

Kevin Jensen wrote re: ASP.NET 2.0 Project Model - Continues to be a thorn in my side
on Mon, Sep 25 2006 3:52 PM

Chris_S: Please explain how it boosts your productivity?

Tomas Restrepo wrote re: ASP.NET 2.0 Project Model - Continues to be a thorn in my side
on Mon, Sep 25 2006 3:56 PM

You know what? I don't get it either. For years many of us cried because the web projects in VS.NET 2002/2003 were just too annoying with the whole IIS dependencies and the need for VS.NET to have projects named a certain way and registered in iis in a very specific manner.

BUT, I think all most people really wanted was to simply get the file-system based development webserver and otherwise have web projects act just like a regular class library project for all intented purposes. Why they completely changed the project model always struck me as odd (that said the new compilation model does have some benefits).

scottgu wrote re: ASP.NET 2.0 Project Model - Continues to be a thorn in my side
on Mon, Sep 25 2006 3:58 PM

What we've seen is that there are definitely strong opinions as to how people think project models for web projects should work.

A lot of people really hated the VS 2003 web project model and refused to touch ASP.NET because of it.  These are typically the people who really like the VS 2005 Web Site Project Model.

A lot of people really hate having a non-project-file based approach, and find it confusing.  These are typically the people who really like the VS 2005 Web Application Project Model.

I think what we've learned is that there isn't always a "one approach works for everyone" model that will make everyone happy and feel natural to them.  We made a mistake in both VS 2003 and the initial VS 2005 release in trying to force people one way or the other (and we definitely made a mistake in initially requiring people to migrate their code to a new project model with VS 2005).

What we are doing now is supporting both models in VS 2005, and will fully continue to-do so with releases going forward.  VS 2005 SP1 will have the Web Application Project model built-in as well (no separate download required) - so both are super visible and easy to use with no extra downloads required.  

Developers can then choose whichever project model works best for them and their projects.  You can also easily migrate web site projects to web application projects (see this tutorial) if you ever want to change the project model format later.

Rick Strahl has a good blog post on his views on the different project models that you can read here: http://west-wind.com/weblog/posts/5601.aspx

Shameless plug: I also have a recent post on optimizing build times with both project models that others might be interested in reading as well here

Hope this helps,

Scott

scottgu wrote re: ASP.NET 2.0 Project Model - Continues to be a thorn in my side
on Mon, Sep 25 2006 4:04 PM

Thomas asked a good question above:

>>>BUT, I think all most people really wanted was to simply get the file-system based development webserver and otherwise have web projects act just like a regular class library project for all intented purposes.

This is actually what the VS 2005 Web Application Project option provides.  Some people have asked whether we didn't "just add back the VS 2003 project system" when we released it.  While it does have many of the same semantics as the VS 2003 web project approach, what we tried to-do was also fix some of the big compliants about it (many of which we also previously added to the web-site project option).  Specifically:

-- It no longer requires FrontPage Server Extensions

-- It supports both IIS and the built-in File-system based web-server

-- It doesn't require an admin account to build/edit/debug web apps

-- It supports edit and continue for both VB and C#

-- It supports richer publishing support to remote web-servers (including FTP)

-- Many others

If you haven't checked out the VS 2005 Web Application option I'd recommend visiting the tutorials here: http://webproject.scottgu.com

Hope this helps,

Scott

karl wrote re: ASP.NET 2.0 Project Model - Continues to be a thorn in my side
on Mon, Sep 25 2006 5:45 PM

It's true the web application package works great. Once it gets rolled out with SP1, a lot of my frustration (as a helper) over the entire issue will probably be resolved.

Call me a suckup, but I've long believed that the VS.NET, C# and VB.NET team needed to be more agile and have more iterative releases. The ASP.NET team has shown that ability a number of times over the last couple years - the new model is a good example.

And I'm glad that you've learnt a good lesson for v3 :)

RussianGeek wrote re: ASP.NET 2.0 Project Model - Continues to be a thorn in my side
on Tue, Sep 26 2006 12:57 AM

I don't know why you don't but I really love it (ASP.NET 2.0 Project Model)...

Eric Nicholson wrote re: ASP.NET 2.0 Project Model - Continues to be a thorn in my side
on Tue, Sep 26 2006 8:48 AM

For people who have spent significant time away from Visual Studio, the new project model makes a lot more sense.  After working in Perl/CGI, Java, JSP, etc.  VS's demand that everything be in a project feels pretty restrictive.   Eventually it can be helpful, but at first it's completely confounding.

Devlicio.us