Microsoft released ASP.NET MVC 3 earlier this morning at the CodeMash conference. ASP.NET MVC 3 is a framework for developing highly testable and maintainable Web applications by leveraging the Model-View-Controller (MVC) pattern. The framework encourages developers to maintain a clear separation of concerns among the responsibilities of the application – the UI logic using the view, user-input handling using the controller, and the domain logic using the model. ASP.NET MVC applications are easily testable using techniques such as test-driven development (TDD).

The installation package includes templates and tools for Visual Studio 2010 to increase productivity when writing ASP.NET MVC applications. For example, the Add View dialog box takes advantage of customizable code generation (T4) templates to generate a view based on a model object. The default project template allows the developer to automatically hook up a unit-test project that is associated with the ASP.NET MVC application.

Because the ASP.NET MVC framework is built on ASP.NET 4, developers can take advantage of existing ASP.NET features like authentication and authorization, profile settings, localization, and so on.

A ASP.NET MVC 3 Application Upgrader has also been released on Codeplex. This standalone application upgrades ASP.NET MVC 2 applications to ASP.NET MVC 3. It works for both ASP.NET MVC 3 RC 2 and RTM. The tool only supports Visual Studio 2010 solutions and MVC 2 projects targeting .NET 4.

It will not work with VS 2008 solutions, MVC 1 projects, or projects targeting .NET 3.5. Those projects will first have to be upgraded using Visual Studio 2010 and/or retargeted for .NET 4.

The tool will:

  • Create a backup of your entire solution
  • Update all Web Applications and Test projects to reference System.Web.Mvc v3.0
  • Add references to System.Web.Helpers.dll and System.Web.WebPages.dll (new libraries required by MVC 3)
  • Upgrade web.config files to reference System.Web.Mvc v3.0 and add configuration and settings to support the new Razor view engine
  • Add or upgrade JavaScript files that ship with ASP.NET MVC 3 (jQuery 1.4.4, jQuery UI 1.8.7 jQuery Validation 1.7, Microsoft AJAX)
  • Add stylesheets and image assets to support jQuery UI

You can download these releases from the links below: