ASP.NET MVC Framework big changes since Dec CTP

 For more stuff on ASP.NET MVC, subscribe to my feed:

If you installed the December CTP of the ASP.NET MVC Framework, you had to install it.  The assembly was registered with the GAC, and you didn’t have to deploy the assembly.  The original plan was to release the MVC Framework with a service pack of .Net 3.5.  That is no longer the plan.

In the March CTP, System.Web.Mvc.dl, System.Web.Routing.dll, and System.Web.Abstractions.dll can all be deployed to the bin folder.  They don’t require the GAC.  I like that a lot.  I recently deployed using the March CTP drop of the MVC Framework.  I have .Net 3.5 on the web server, and it was super simple. 

Routing is a bit different.   Make sure to change [controller]/[route] to {controller}/{route}.  Minor change.  Overall, I’m actually using to using {} for tokens because of all the NAnt build work I’ve done (NAnt uses ${prperty}).

Routing can be used with existing apps.   If you have every done url rewriting (I have), you know how painful it can be.  Now that routing is in a separate assembly, you can use it with any ASP.NET app you wish.  I really like that concept because routing doesn’t care if you are using the mvc handler or page hander.  It works for parsing urls either way.

Overall, I’m pretty impressed with this CTP (and it is a CTP).  It is not done yet, and Microsoft makes no claims that it is complete.  It’s the second public drop of a new, fledgling framework.  The core, in my opinion, is the routes, controllers, and handoff to the views.   All the other stuff is ancillary.  Once the core is there, libraries like MvcContrib can start adding on extra features.  For instance, I’m looking at leveraging the presentation object validators from the Castle project along with the [DataBind] attribute.  It shouldn’t be to hard to leverage the Castle project here, even while using a different controller base class.  I think they are quite complimentary, and Monorail has so many great features, I don’t think I’ll use the MVC Framework bare. 

Let me know in a comment if you are interested in me releasing the source for