Announcing release of ASP.NET MVC 3, IIS Express, SQL CE 4, Web Farm Framework, Orchard, WebMatrix

I’m excited to announce the release today of several products:

  • ASP.NET MVC 3
  • NuGet
  • IIS Express 7.5
  • SQL Server Compact Edition 4
  • Web Deploy and Web Farm Framework 2.0
  • Orchard 1.0
  • WebMatrix 1.0

The above products are all free. They build upon the .NET 4 and VS 2010 release, and add a ton of additional value to ASP.NET (both Web Forms and MVC) and the Microsoft Web Server stack.

ASP.NET MVC 3

Today we are shipping the final release of ASP.NET MVC 3.  You can download and install ASP.NET MVC 3 here.  The ASP.NET MVC 3 source code (released under an OSI-compliant open source license) can also optionally be downloaded here.

ASP.NET MVC 3 is a significant update that brings with it a bunch of great features.  Some of the improvements include:

Razor

ASP.NET MVC 3 ships with a new view-engine option called “Razor” (in addition to continuing to support/enhance the existing .aspx view engine).  Razor minimizes the number of characters and keystrokes required when writing a view template, and enables a fast, fluid coding workflow.

Unlike most template syntaxes, with Razor you do not need to interrupt your coding to explicitly denote the start and end of server blocks within your HTML. The Razor parser is smart enough to infer this from your code. This enables a compact and expressive syntax which is clean, fast and fun to type. 

You can learn more about Razor from some of the blog posts I’ve done about it over the last 6 months

Today’s release supports full code intellisense support for Razor (both VB and C#) with Visual Studio 2010 and the free Visual Web Developer 2010 Express.

JavaScript Improvements

ASP.NET MVC 3 enables richer JavaScript scenarios and takes advantage of emerging HTML5 capabilities.

The AJAX and Validation helpers in ASP.NET MVC 3 now use an Unobtrusive JavaScript based approach.  Unobtrusive JavaScript avoids injecting inline JavaScript into HTML, and enables cleaner separation of behavior using the new HTML 5 “data-“ attribute convention (which conveniently works on older browsers as well – including IE6). This keeps your HTML tight and clean, and makes it easier to optionally swap out or customize JS libraries. 

ASP.NET MVC 3 now includes built-in support for posting JSON-based parameters from client-side JavaScript to action methods on the server.  This makes it easier to exchange data across the client and server, and build rich JavaScript front-ends.  We think this capability will be particularly useful going forward with scenarios involving client templates and data binding (including the jQuery plugins the ASP.NET team recently contributed to the jQuery project). 

Previous releases of ASP.NET MVC included the core jQuery library.  ASP.NET MVC 3 also now ships the jQuery Validate plugin (which our validation helpers use for client-side validation scenarios).  We are also now shipping and including jQuery UI by default as well (which provides a rich set of client-side JavaScript UI widgets for you to use within projects).

Improved Validation

ASP.NET MVC 3 includes a bunch of validation enhancements that make it even easier to work with data.

Client-side validation is now enabled by default with ASP.NET MVC 3 (using an onbtrusive javascript implementation).  Today’s release also includes built-in support for Remote Validation - which enables you to annotate a model class with a validation attribute that causes ASP.NET MVC to perform a remote validation call to a server method when validating input on the client.

The validation features introduced within .NET 4’s System.ComponentModel.DataAnnotations namespace are now supported by ASP.NET MVC 3.  This includes support for the new IValidatableObject interface – which enables you to perform model-level validation, and allows you to provide validation error messages specific to the state of the overall model, or between two properties within the model. 

ASP.NET MVC 3 also supports the improvements made to the ValidationAttribute class in .NET 4.  ValidationAttribute now supports a new IsValid overload that provides more information about the current validation context, such as what object is being validated.  This enables richer scenarios where you can validate the current value based on another property of the model.  We’ve shipped a built-in [Compare] validation attribute  with ASP.NET MVC 3 that uses this support and makes it easy out of the box to compare and validate two property values.

You can use any data access API or technology with ASP.NET MVC.  This past year, though, we’ve worked closely with the .NET data team to ensure that the new EF Code First library works really well for ASP.NET MVC applications.  These two posts of mine cover the latest EF Code First preview and demonstrates how to use it with ASP.NET MVC 3 to enable easy editing of data (with end to end client+server validation support).  The final release of EF Code First will ship in the next few weeks.

Today we are also publishing the first preview of a new MvcScaffolding project.  It enables you to easily scaffold ASP.NET MVC 3 Controllers and Views, and works great with EF Code-First (and is pluggable to support other data providers).  You can learn more about it – and install it via NuGet today - from Steve Sanderson’s MvcScaffolding blog post.

Output Caching

Previous releases of ASP.NET MVC supported output caching content at a URL or action-method level.

With ASP.NET MVC V3 we are also enabling support for partial page output caching – which allows you to easily output cache regions or fragments of a response as opposed to the entire thing.  This ends up being super useful in a lot of scenarios, and enables you to dramatically reduce the work your application does on the server. 

The new partial page output caching support in ASP.NET MVC 3 enables you to easily re-use cached sub-regions/fragments of a page across multiple URLs on a site.  It supports the ability to cache the content either on the web-server, or optionally cache it within a distributed cache server like Windows Server AppFabric or memcached.

I’ll post some tutorials on my blog that show how to take advantage of ASP.NET MVC 3’s new output caching support for partial page scenarios in the future.

Better Dependency Injection

ASP.NET MVC 3 provides better support for applying Dependency Injection (DI) and integrating with Dependency Injection/IOC containers.

With ASP.NET MVC 3 you no longer need to author custom ControllerFactory classes in order to enable DI with Controllers.  You can instead just register a Dependency Injection framework with ASP.NET MVC 3 and it will resolve dependencies not only for Controllers, but also for Views, Action Filters, Model Binders, Value Providers, Validation Providers, and Model Metadata Providers that you use within your application.

This makes it much easier to cleanly integrate dependency injection within your projects.

Other Goodies

ASP.NET MVC 3 includes dozens of other nice improvements that help to both reduce the amount of code you write, and make the code you do write cleaner.  Here are just a few examples:

  • Improved New Project dialog that makes it easy to start new ASP.NET MVC 3 projects from templates.
  • Improved Add->View Scaffolding support that enables the generation of even cleaner view templates.
  • New ViewBag property that uses .NET 4’s dynamic support to make it easy to pass late-bound data from Controllers to Views.
  • Global Filters support that allows specifying cross-cutting filter attributes (like [HandleError]) across all Controllers within an app.
  • New [AllowHtml] attribute that allows for more granular request validation when binding form posted data to models.
  • Sessionless controller support that allows fine grained control over whether SessionState is enabled on a Controller.
  • New ActionResult types like HttpNotFoundResult and RedirectPermanent for common HTTP scenarios.
  • New Html.Raw() helper to indicate that output should not be HTML encoded.
  • New Crypto helpers for salting and hashing passwords.
  • And much, much more…

Learn More about ASP.NET MVC 3

We will be posting lots of tutorials and samples on the http://asp.net/mvc site in the weeks ahead.  Below are two good ASP.NET MVC 3 tutorials available on the site today:

We’ll post additional ASP.NET MVC 3 tutorials and videos on the http://asp.net/mvc site in the future. Visit it regularly to find new tutorials as they are published.

How to Upgrade Existing Projects

ASP.NET MVC 3 is compatible with ASP.NET MVC 2 – which means it should be easy to update existing MVC projects to ASP.NET MVC 3. 

The new features in ASP.NET MVC 3 build on top of the foundational work we’ve already done with the MVC 1 and MVC 2 releases – which means that the skills, knowledge, libraries, and books you’ve acquired are all directly applicable with the MVC 3 release.  MVC 3 adds new features and capabilities – it doesn’t obsolete existing ones.

You can upgrade existing ASP.NET MVC 2 projects by following the manual upgrade steps in the release notes.  Alternatively, you can use this automated ASP.NET MVC 3 upgrade tool to easily update your  existing projects.

Localized Builds

Today’s ASP.NET MVC 3 release is available in English.  We will be releasing localized versions of ASP.NET MVC 3 (in 9 languages) in a few days.  I’ll blog pointers to the localized downloads once they are available.

NuGet

Today we are also shipping NuGet – a free, open source, package manager that makes it easy for you to find, install, and use open source libraries in your projects. It works with all .NET project types (including ASP.NET Web Forms, ASP.NET MVC, WPF, WinForms, Silverlight, and Class Libraries).  You can download and install it here.

NuGet enables developers who maintain open source projects (for example, .NET projects like Moq, NHibernate, Ninject, StructureMap, NUnit, Windsor, Raven, Elmah, etc) to package up their libraries and register them with an online gallery/catalog that is searchable.  The client-side NuGet tools – which include full Visual Studio integration – make it trivial for any .NET developer who wants to use one of these libraries to easily find and install it within the project they are working on.

NuGet handles dependency management between libraries (for example: library1 depends on library2). It also makes it easy to update (and optionally remove) libraries from your projects later. It supports updating web.config files (if a package needs configuration settings). It also allows packages to add PowerShell scripts to a project (for example: scaffold commands). Importantly, NuGet is transparent and clean – and does not install anything at the system level. Instead it is focused on making it easy to manage libraries you use with your projects.

Our goal with NuGet is to make it as simple as possible to integrate open source libraries within .NET projects. 

NuGet Gallery

This week we also launched a beta version of the http://nuget.org web-site – which allows anyone to easily search and browse an online gallery of open source packages available via NuGet.  The site also now allows developers to optionally submit new packages that they wish to share with others.  You can learn more about how to create and share a package here.

There are hundreds of open-source .NET projects already within the NuGet Gallery today.  We hope to have thousands there in the future.

IIS Express 7.5

Today we are also shipping IIS Express 7.5.  IIS Express is a free version of IIS 7.5 that is optimized for developer scenarios.  It works for both ASP.NET Web Forms and ASP.NET MVC project types.

We think IIS Express combines the ease of use of the ASP.NET Web Server (aka Cassini) currently built-into Visual Studio today with the full power of IIS.  Specifically:

  • It’s lightweight and easy to install (less than 5Mb download and a quick install)
  • It does not require an administrator account to run/debug applications from Visual Studio
  • It enables a full web-server feature set – including SSL, URL Rewrite, and other IIS 7.x modules
  • It supports and enables the same extensibility model and web.config file settings that IIS 7.x support
  • It can be installed side-by-side with the full IIS web server as well as the ASP.NET Development Server (they do not conflict at all)
  • It works on Windows XP and higher operating systems – giving you a full IIS 7.x developer feature-set on all Windows OS platforms

IIS Express (like the ASP.NET Development Server) can be quickly launched to run a site from a directory on disk.  It does not require any registration/configuration steps. This makes it really easy to launch and run for development scenarios.  You can also optionally redistribute IIS Express with your own applications if you want a lightweight web-server.  The standard IIS Express EULA now includes redistributable rights.

Visual Studio 2010 SP1 adds support for IIS Express.  Read my VS 2010 SP1 and IIS Express blog post to learn more about what it enables. 

SQL Server Compact Edition 4

Today we are also shipping SQL Server Compact Edition 4 (aka SQL CE 4).  SQL CE is a free, embedded, database engine that enables easy database storage.

No Database Installation Required

SQL CE does not require you to run a setup or install a database server in order to use it.  You can simply copy the SQL CE binaries into the \bin directory of your ASP.NET application, and then your web application can use it as a database engine.  No setup or extra security permissions are required for it to run. You do not need to have an administrator account on the machine. Just copy your web application onto any server and it will work. This is true even of medium-trust applications running in a web hosting environment.

SQL CE runs in-memory within your ASP.NET application and will start-up when you first access a SQL CE database, and will automatically shutdown when your application is unloaded.  SQL CE databases are stored as files that live within the \App_Data folder of your ASP.NET Applications.

Works with Existing Data APIs

SQL CE 4 works with existing .NET-based data APIs, and supports a SQL Server compatible query syntax.  This means you can use existing data APIs like ADO.NET, as well as use higher-level ORMs like Entity Framework and NHibernate with SQL CE.  This enables you to use the same data programming skills and data APIs you know today.

Supports Development, Testing and Production Scenarios

SQL CE can be used for development scenarios, testing scenarios, and light production usage scenarios.  With the SQL CE 4 release we’ve done the engineering work to ensure that SQL CE won’t crash or deadlock when used in a multi-threaded server scenario (like ASP.NET).  This is a big change from previous releases of SQL CE – which were designed for client-only scenarios and which explicitly blocked running in web-server environments.  Starting with SQL CE 4 you can use it in a web-server as well.

There are no license restrictions with SQL CE.  It is also totally free.

Tooling Support with VS 2010 SP1

Visual Studio 2010 SP1 adds support for SQL CE 4 and ASP.NET Projects.  Read my VS 2010 SP1 and SQL CE 4 blog post to learn more about what it enables. 

Web Deploy and Web Farm Framework 2.0

Today we are also releasing Microsoft Web Deploy V2 and Microsoft Web Farm Framework V2.  These services provide a flexible and powerful way to deploy ASP.NET applications onto either a single server, or across a web farm of machines.

You can learn more about these capabilities from my previous blog posts on them:

Visit the http://iis.net website to learn more and install them. Both are free.

Orchard 1.0

Today we are also releasing Orchard v1.0. 

Orchard is a free, open source, community based project.  It provides Content Management System (CMS) and Blogging System support out of the box, and makes it possible to easily create and manage web-sites without having to write code (site owners can customize a site through the browser-based editing tools built-into Orchard).  Read these tutorials to learn more about how you can setup and manage your own Orchard site.

Orchard itself is built as an ASP.NET MVC 3 application using Razor view templates (and by default uses SQL CE 4 for data storage).  Developers wishing to extend an Orchard site with custom functionality can open and edit it as a Visual Studio project – and add new ASP.NET MVC Controllers/Views to it. 

WebMatrix 1.0

WebMatrix is a new, free, web development tool from Microsoft that provides a suite of technologies that make it easier to enable website development.  It enables a developer to start a new site by browsing and downloading an app template from an online gallery of web applications (which includes popular apps like Umbraco, DotNetNuke, Orchard, WordPress, Drupal and Joomla).  Alternatively it also enables developers to create and code web sites from scratch.

WebMatrix is task focused and helps guide developers as they work on sites.  WebMatrix includes IIS Express, SQL CE 4, and ASP.NET - providing an integrated web-server, database and programming framework combination.  It also includes built-in web publishing support which makes it easy to find and deploy sites to web hosting providers.

You can learn more about WebMatrix from my Introducing WebMatrix blog post this summer.  Visit http://microsoft.com/web to download and install it today.

Summary

I’m really excited about today’s releases – they provide a bunch of additional value that makes web development with ASP.NET, Visual Studio and the Microsoft Web Server a lot better. 

A lot of folks worked hard to share this with you today. On behalf of my whole team – we hope you enjoy them!

Scott

P.S. In addition to blogging, I am also now using Twitter for quick updates and to share links. Follow me at: twitter.com/scottgu

205 Comments

  • congrats men. you guys are d bomb!

  • Thanks Scott! Lots of great developer tools out of Redmond today!

  • Your Team work really appreciated. Hope MVC 3 is accepted by the whole development community. Best of Luck!

  • Your Team work really appreciated. Hope MVC 3 is accepted by the whole development community. Best of Luck!

  • Very glad to see that you can redistribute IIS 7.5.

  • Here goes another weekend again :)

  • If Silverlight could be made to run locally atop SQL CE 4 and IIS Express, I think you would have a very compelling dev story for the tablets to come!

  • Wow What a year is 2011. I'm so surprised and also so excited about theses releases. Wish you and your team a great year and waiting for your blog posts about these new products...

  • Wow. Lots of great stuff. I can wait to get started!



  • Nice, great to see MVC evolution in the web development sphere.
    Thanks

  • Will razor also become MSPL ?

  • It's my understanding that the new validation powered by `IValidatableObject` **still** only fires *after* property validation is successful. No one seems to be bothered by this, but I sure am! This means that validation becomes a two-stage process for users. First they have to correct missing fields, then they have to correct any model-level problems. I find it unacceptable that this level of user-unfriendliness is *baked into the MVC framework*.

  • Holy Cow, I'm stoked by all the products released today. Great job.

  • Can I import an existing website into webmatrix?

  • Installer is CRAWLING... and it still has that 2 line text box with term and conditions.

  • Could you provide direct download link for each separate tool, I dont't want to use the webinstaller.

  • Hello!

    I found some unexpected behavior when generating URL for actions: UriHelper.Action (or others) implictly takes route values from current context.

    For example:

    Routes:

    routes.MapRoute("User", "{userId}/{controller}/{action}/{id}",
    new { controller = "Home", action = "Index", id = UrlParameter.Optional }, new { userId = "^[1-9]\\d*$" });

    routes.MapRoute("Default", "{controller}/{action}/{id}", new { controller = "Home", action = "Index", id = UrlParameter.Optional});

    Controller:

    public class HomeController : Controller
    {
    public ActionResult Index() { return View(); }
    public ActionResult Test(int userId) { return View("Index"); }
    }

    View 'Index':

    Expected: "/", Actual: "@Url.Action("Index", "Home")"
    Expected: "/10/Home/Test", Actual: "@Url.Action("Test", "Home", new { userId = 10 })"

    Result of '/':

    Expected: "/", Actual: "/"
    Expected: "/10/Home/Test", Actual: "/10/Home/Test"

    All right!

    Result of '/10/Home/Test':

    Expected: "/", Actual: "/10"
    Expected: "/10/Home/Test", Actual: "/10/Home/Test"

    Why? The route value 'userId' set implictly from current route values into generated route link!

    Can you help me?

  • Sweet, maybe now our infrastructure guys can stop hassling me about developing using beta frameworks... I just tell them I'm "prototyping" but seriously, some people just don't like to have any fun :D

    Thank you Scott and team for these great products!

  • Do we need to uninstall the RC of mvc3? Didn't see anything in the release notes one way or the other. thanx!!

  • Nice announcement as always! Scott, you and your team are simply superb in the world.

    Thanks!

  • +1 for the request to the individual installers... I'm mainly interested in the SQL CE 4 installer, but I'm sure there are people interested in each of the other products released. Congrats on shipping, by the way!

  • Congratulations!

    Grz, Kris.

  • Hope you don't mind- I'm directing folks your way. Thanks for the information on the releases, and your work getting them out there!

  • When will VS2010 SP1 Beta be made RTM?

  • Where can we download SQL CE 4, and can it be used without the SP1 tools?

    Thank you Scott and team for the mass-release.

  • thanks for everything. where can I download sql ce 4.0?

  • Can SQL CE4 be used with Windows Forms?

  • @Scott - Are there any breaking changes from MVC2 to MVC3?

    Congrats on the release, Razor looks great!

  • Do these installers auto-upgrade from for example, ASP.NET MVC 3 RC2?

  • Cant wait to start using MVC3.
    Just in time for a project due to start any day. Keep up the good work.

    IIS Express is genius too!

  • Can Asp.net MVC 3 be installed on top of RC or do I need to uninstall RC first?
    I have both MVC and the VS 2010 tools in "Programs and Features", are both of them affected?

  • Well done guys - Great work here. looking forward to working with all the new technology. Keep up the good work - your heading in the right direction! :)

  • Can't wait to tuck into this new stuff! I taught myself MVC V1 by working through the NerdDinner document. Will we see a V3 for that too?

  • Now we just need vs.net sp1 released...can't install the beta at work. Can't wait to try these out soon though!

  • I see IIS Express has been released, but it's still not clear whether you actually need SP1 to use it. Can IIS Express be made to work with the current (non-SP1) version of VS2010?

  • My, you guys have been busy!

    I've been learning MVC with MVC3 RC2 over the last couple of weeks but it'll be great to get the RTM installed. Just one question: do I need to uninstall RC2 before installing the release version?

  • @igorbek - it's been doing this for years. Here's my solution to the problem:

    http://stackoverflow.com/questions/1148443/how-to-prevent-url-routeurl-from-inheriting-route-values-from-the-current-re

  • IIS.NET's web farm framework page still sayd Beta... is final being released?

  • HOLY SH*T
    MICROSOFT AWESOME
    MVC AWESOME
    EVERYTHING AWESOME

    LOVE MICROSOFT
    CONGRATULATIONS
    KTHXBYE

  • Very excited! Thanks for all y'all's hard work. I'm excited about the razor syntax.

  • What a fantastic set of releases!

    I'm already a huge fan of ASP.NET MVC and have had the chance to do some work with Webmatrix and Razor. Really looking forward to working with ASP.NET MVC 3 and Razor w/in VS2010.

  • If Indentation Options for HTML is set to Keep Tabs in the VS Options dialog, close braces (}) in CSHTML pages are mis-indented.

    Can that be fixed?

  • Great news... now to update my tuorial series on creating a RESTful web service based on ASP.Net MVC.

  • Awwww.....SQLCE4 RTM depends on VC9 runtime !!! not goood !!
    My app is .NET4/VC10, so if I uses SQLCE4, I also need to ship with VC9 runtime !!
    its hardly 'lightweight', far larger than other embedded SQL db.

  • Exciting times.

  • Hello scott i like this all thing you released yesterday but tell me something i am confused. in last post in july i read about "4 viewengine" but it is only one razor. where are other such as spark.

  • Great stuff! I just tried WebMatrix. It seems there is no intellisense support.

  • Thanks for the AWESOME ASP.NET MVC 3 Framework. ASP.NET MVC 3 is really rocking. NuGet is a great tool.

  • Blows up during compile if you have the T4MVC.tt added to the project. While trying to compile the t4mvc.tt generated files the base T4MVC.cs gives a compile error of Error 12 The type 'System.Web.WebPages.Razor.WebRazorHostFactory' is defined in an assembly that is not referenced. You must add a reference to assembly 'System.Web.WebPages.Razor, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.

  • well done this is awesome !!, i totally love the way asp.net mvc is going, it is such a pleasure to develop with

  • Hi Scott,
    Your blogs is a great source of info, but I do have a small request - could you prehaps put the date of post somewhere prominant at the top of each blog? Particularly for the longer posts, it can be PITA to scroll down to the first comment to put the post in a date context?

  • AWESOME. simply AWESOME
    Microsoft is finally aware that opening their source or offering their software as free for use makes more people involved and enthusiastic about contributing with new features, that's the spirit of software!

    congrats scott, to you and to the hole team!

    best regards
    Rodrigo

  • VS2010 SP1 includes MVC3?

  • This is why I sold my soul to Microsoft.

  • For the record on the MV3 not working with T4MVC, here is the work around: all you have to do is add a reference to the Razor dll. You will need to browse in the add reference dialog to find it. You will find it at "%ProgramFiles%\Microsoft ASP.NET\ASP.NET Web Pages\v1.0\Assemblies" add a reference to the System.Web.WebPages.Razor.dll to your project and things compile fine

    (Note on x64 OS %ProgramFiles% in this case denotes Program Files (x86)

  • Is there a standalone msi installer available for IIS Express?

  • Is there a standalone installer for sql ce 4?

  • Question:

    Is there some guide/patterns or recommendation on how to migrate an ASP.NET MVC3 App to Windows Azure?
    If yes could you provide the links?

    Best Regards

  • I guess you guys have my soul too.

    BUT~! I really think a standalone installer, atleast for IIS Express is really needed.

    Many secure places (like the bank Im coding for) have no internet connection on their systems, and it IS impossible to get Web PI and install IIS Express!?

    Is there no hack or anything where I could get IIS Express standalone?

  • The automated upgrade tool failed with an exception, so i tried to do a manual upgrade. That also fails at step 6 - "Add a reference to System.WebPages.dll", because i don't have that file anywhere on my computer. I tried to run AspNetMVC3Setup.exe again, but still no dll. Help? :)

  • How do I know that SQL CE 4.0 is really the final version? In Web Platform Installer 3.0, it shows the release date as 2010-10-15.
    I hope the meta-data for the installers can be more clear as to the version: beta, CTP, RTW, etc.

  • I see much mention of SQL Server Compact Edition V4 and still cannot find a download or Microsoft page for it. There is the CTP but I'd like to think this isn't a CTP announcement...

  • I tried installing VS tools for SQL CE4, but failed because I don't have vs10 beta 1 installed.
    I know I should have read it was for VS10 beta, but I should have not seen it in the first place

  • Are there any guide how to upgrade a site from mvc2 to mvc3 and also how to upgrade to use Razor?

  • Great news scottGu ! But how can we download IIS Express 7.5 as a separate installer package like asp.net mvc 3 ?

  • The is no way for me to have ASP.NET MVC 3 installed
    I uninstalled MVC3 RC2 and all what come with it and still failing
    I am now uninstalling VS2010 SP1 Beta with the hope that it solves this issue
    I am afraid I have to install from scratch my VS2010 with the hope no having to install from scratch my whole Windows 7

  • Awesome ;)

    Currently i'm working on MVC 3 RC2 but today i'd like to switch to final version :).

    Unfortunatelly we are not using razor :(. But at home I am using new engine :).

    Ex. MS vendor ;).

  • Uninstalling VS2010 SP1 Beta solved this issue
    I uninstalled SP1 and restarted my PC
    Afterwards, MVC3 installation managed to finish successfully

  • Great stuff; was waiting for this announcement for long time now... thanks :)
    I have 2 notes and I hope this is the right place to put them:
    1. Wouldn't it be easier to categorize NuGet packages especially that they are growing in number; before we notice it'll be hard to find the package we want unless we know its name?
    2. Why Web Platform Installer is insisting to install SQL Express although I already have SQL Server Developer Edition intatalled?

  • Will ASP.Net MVC 3 work with Mono?

  • @ScottGu - there's no link to download Sql Server CE4.0 in your blog post :( Also, will all these things be available with VS2010 SP1? or will they always be a separate download (whichis totally kewl by me ... that's why we have WebPI :) )

  • Congratulations to Scott and everyone! I'm really excited to try Razor among other features of MVC 3.

  • @ Nachid - In your log file "This product is incompatible with the Microsoft Visual Studio Async CTP. Please uninstall the component, then try to install this product again." Uninstall Async CTP if you want MVC3

  • Edit...@ Nick_UK - In your log file "This product is incompatible with the Microsoft Visual Studio Async CTP. Please uninstall the component, then try to install this product again." Uninstall Async CTP if you want MVC3

  • I love new MVC 3!
    1) back button in the new Web Platform Installer is almost invisible when using over the RDP (because of the compression or only 16bit colors ),
    2) I don't like that MVC 3 adds Visual Web Developer and SQL Server Express as its dependency in the Web Platform Installer..

  • Hi scottgu,
    when will visual studio 2010 SP1 final?

  • Is WebMatrix Web PI only? I have a few machines and would rather only download once then deploy.

    That aside, what a cracking bundle of releases.

    Kev

  • For Windows x64, will there be a standalone installer of IIS Express? I want to run 64-bit app pools, so I'm assuming the x86 release can't do that.

  • Scott,

    If javascript is disabled, does RemoteAttribute do the validation server-side when the form is posted alla RequiredAttribute? I can't get my remote validation code to execute when I turn off javascript (everything works flawlessly with javascript turned on). I don't know if I'm supposed to handle this manually and repeat the validations logic doing something like ModelState.AddModelError("Email", "{0} is not available.") in my action method. For the sake of keeping things DRY, I'm hoping not :)


    Congrats on this ENORMOUS release, impressive work.

  • If you installed VS2010 from mount iso, just mount it before to start ASP.NET MVC 3 setup.
    I had same problem. Uninstalling the VS2010 SP1, as recomended somewhere, didn't help.
    Then after I mount the VS2010 is it just worked fine (ofcourse you have to be patient :), it takes time).

  • As always Scott you and your team are AWESOME! Go tell Ballmer its time for a promotion...

  • awesome news!
    but dude, the RSS feed for this blog has font tags! FONT TAGS!
    I CANNOT HAS TEXT SIZE INCREASEZ (+++) IN TEH GOOGLE READERZ.

  • Question, is there no design view support for Razor? When I create a MVC3 project with the built template i get design/split/source. With Razor I only get Source.
    I am doing this will 2010 web express.

  • For those looking for easy way to download these components. Add the item in the Platform installer (like WebMatrix), then click the link in the bottom left corner: Items to Install. A list of components will show from which you can selectively download to a folder of your choice. Then close to Platform installer without actually using it to install.

  • I'm also getting the "Fatal error during installation." after install. I did have the beta tools installed; but I un-installed first; but that didn't fix the issue. Scott, can you give us an email so sent the log file to, that they maybe someone there could figure it out. Thanks

  • The MS-PL code in MVC contains binaries for Razor that are not MS-PL and I could not find the source code to it.

    I wanted to experiment with Razor, is it going to be open source?

  • Hi

    Is there a roadmap for asp.net 5.0. Would be nice if you could blog about whats going on there.

    Or have your developer teams all got focus on MVC. I'm sticking with web forms so any news would be appreciated.

    Asked about this when the last MVC was released but nothing have come since then.

    Thanks

  • Are you checking modelsatate,isvalid in your action?I typically have a line like this in action handelers that take input if email me at drewimi at microsoft dot com and i will try to help you with the installation.

  • Hi scott,

    I am in found of MVC3 and Orchard and especialy of your bloging. A lot of information in understandable form.

    I have an problem with Orchard. On my local machine is everything ok, by when I try in on may webhosting server, it keeps me loging out all the time. I tracked this problem and I guess, that it is because the server is in diferent time zone (+ 3 hour). I tried to set up forms timeout in web.config with no success. Any idea how to fix this issue? Thank you very much in advance.

  • Some great releases here, looking forward to using them. Once question on SQLCE4 will it be available for SmartDevice projects such as those developed using VS2008 for the PocketPC?

  • @Jonny Johansson: It appears that there is a problem in the release notes. (I have not tried the upgrade utility). Step 6 should read something like this:

    6. Add a reference to System.Web.WebPages.dll and System.Web.Helpers.dll. These assemblies are located in the following folder:
    • %ProgramFiles%\ Microsoft ASP.NET\ASP.NET Web Pages\v1.0\Assemblies

    I was able to manually upgrade my Mvc2 application using these altered directions. (Notice that the name of the first assembly is System.Web.WebPages.dll, not System.WebPages.dll.)

  • FYI, I started upgrading my two servers and personal machine to Web Platform Installer 3.0 and ASP.NET MVC 3, when I noticed that PHP 5.3 had been upgraded as part of this as well.

    Unfortunately, WPI only allows you to install PHP 5.3 (and 5.2) for WebMatrix, even though I have enabled IIS 7.5 on my Windows 7 machine. To work around this I installed the PHP Manager for IIS, which then installed PHP 5.3 as a dependency.

    I had no issue with installing PHP for IIS in WPI 2.0 on Windows 7 (Home Premium).

    Also, is there any reason WPI keeps selecting the Express edition of VS on Server 2008 R2 machines when you install MVC? I had this happen with 2.0 as well. Since doing development on the server is generally frowned upon, it seems like an odd selection.

  • Can I use WebMatrix to maintain websites in a heterogeneous environment? We have all sorts of websites on various platforms, including Windows Server and Linux. I really want one tool to support them all.

  • Trying to install MVC3 on a Windows 2008 Server R2(x64), IIS installed, MVC1 and 2, .NET4, IIS URL Rewrite Module 2
    Server is patched with all patches from MS Update.

    Get this error:
    MSI (c:\temp\ext47334\AspNetWebPages.msi) Installation failed. Msi Log: Microsoft ASP.NET MVC 3_20110115_203203567-MSI_AspNetWebPages.msi.txt
    [1/15/2011, 20:32:33]PerformOperation returned 1603 (translates to HRESULT = 0x80070643)
    [1/15/2011, 20:32:33] Action complete
    [1/15/2011, 20:32:33]OnFailureBehavior for this item is to Rollback.
    [1/15/2011, 20:32:33] Action complete
    [1/15/2011, 20:32:33]Final Result: Installation failed with error code: (0x80070643), "Fatal error during installation. " (Elapsed time: 0 00:00:30).

    Have tried on several servers(identical) with the same result.
    What's causing this and how do I get pass it?

  • Hi, Scott congratulations!!
    The new razor is really amazing! When are you announcing asp.net 5.0?

  • Thank you for ASP.NET MVC! The job you do is amazing!.. When do you think this will work with Mono? (Specifically, Razor)

  • It is simply amazing, congratulations to you team Scott!

  • Congrats guys! Job well done :D

  • Text editor in WebMatrix seems easier on the eye than Visual Studio

  • Web Matrix on Wikipedia talks about the old Matrix software, and Matrix (disambiguation page) on Wikipedia do not mention Microsoft at all. That should be corrected, and I am not good for that, being a beginner in Matrix. Otherwise, new Matrix sounds very good. Thank you.

  • Has the issue preventing the Async CTP and MVC 3 from installing together been resolved or do we need to wait for another drop from the Async guys?

  • Just discovered MVC 2 not 48 hours ago. Was already tired of %%%%%%%%<<:::::.

    Reading this, my head exploded, not to mention my underpants...

    Great stuff.



  • This is great. I was desperately waiting for final release.

  • This stuff is awesome, truly amazing! I'm especially in love with SQL CE. I can now create persistent data models and deploy them not having to think about additional infrastructure. Razor is going to make ASP.NET MVC applications look better and IIS express is going to eliminate unexpected bugs when moving to production. And I'm just scratching the surface!

  • I installed ASP.NET MVC 3 RTM on XP SP3 workstation. But when I opened a new MVC 3 project in VS 2010, it hangs. The VS 2010 repair did not help. I have installed VS 2010 SP1 to fix the issue (it uninstalled ASP.NET MVC 3 as well). Then I have installed ASP.NET MVC 3 again and now I am able to create a new ASP.NET MVC 3 projet in VS 2010.

  • Hi Scott,

    Great stuff!

    One quick question - if I want to deploy MVC3 apps should I simply upload the MVC assembly to the BIN directory on the hosting machine? Are there any other requirements?

    Pretty sure that with MVC2 that was the case.

    Thanks!
    D

  • @Rupesh
    You don't have to stick to the example. The author mentions how to use Resource strings too. That was to show you a new way of globalization. So you can perfectly have ONE view for all cultures and languages.

  • After installing MVC3 my intellisense in Visual Studio is broken.
    It never shows method parameter information when entering the first "(" etc ...

    Great ... :(

  • @Carlo,

    >>>>>>> Will razor also become MSPL ?

    We are working on trying to make it MSPL but it isn't available today as MSPL. ASP.NET MVC's source code is though.

    Hope this helps,

    Scott

  • @DavidB,

    >>>>>>> It's my understanding that the new validation powered by `IValidatableObject` **still** only fires *after* property validation is successful. No one seems to be bothered by this, but I sure am! This means that validation becomes a two-stage process for users. First they have to correct missing fields, then they have to correct any model-level problems. I find it unacceptable that this level of user-unfriendliness is *baked into the MVC framework*.

    We found that some validation errors with IValidatableObject might be confusing if the property values are either null or haven't been set yet - which is why we broke it up into a two stage process by default. You can customize the default model binder if you want though to do them all in one pass.

    Note that client-side validation (which is on by default) typically allows people to fix most property level validation issues before the post to the server - so the user experience is usually pretty good even when there are property level errors.

    Hope this helps,

    Scott

  • @Steve,

    >>>>>> Can I import an existing website into webmatrix?

    Yes - WebMatrix allows you to open any existing folder you have and edit the files within it.

    Hope this helps,

    Scott

  • @Igorbek,

    Can you send me email (scottgu@microsoft.com) and I can connect you with someone to help.

    Thanks,

    Scott

  • @George,

    >>>>>>> Do we need to uninstall the RC of mvc3? Didn't see anything in the release notes one way or the other. thanx!!

    You should be able to install the RTM build on top of earlier RC builds (no uninstall required).

    Hope this helps,

    Scott

  • @Andrew,

    >>>>>>>> When will VS2010 SP1 Beta be made RTM?

    We haven't announced an RTM date for that just yet - it will probably be several more weeks off though.

    Hope this helps,

    Scott

  • @Morten,

    >>>>>>> Can SQL CE4 be used with Windows Forms?

    SQL CE 4 only supports ASP.NET scenarios at the moment from a tools perspective. However, you can use SQL CE 3.5 with WinForms and client apps.

    Hope this helps,

    Scott

  • @whittet,

    >>>>>>> Do these installers auto-upgrade from for example, ASP.NET MVC 3 RC2?

    Yes - they'll auto upgrade the RC2 bits. You'll then want to follow the release notes (or use the upgrader I linked to above) to update exiting RC2 projects you are working on.

    Hope this helps,

    Scott

  • @DanG,

    >>>>>>> Can Asp.net MVC 3 be installed on top of RC or do I need to uninstall RC first?

    Yes - you can install on top of the RC build.

    Hope this helps,

    Scott

  • @James Orr,

    >>>>>>>> Can't wait to tuck into this new stuff! I taught myself MVC V1 by working through the NerdDinner document. Will we see a V3 for that too?

    We'll have several tutorials updated for MVC3. You'll be able to find them on http://asp.net/mvc

    Hope this helps,

    Scott

  • @Lee Dumond,

    >>>>>>>> I see IIS Express has been released, but it's still not clear whether you actually need SP1 to use it. Can IIS Express be made to work with the current (non-SP1) version of VS2010?

    You can - although it would require you to manually start IIS Express from the command line (or a custom tool task you register). If you are looking for nice VS 2010 integration the best bet is to go with SP1 or the SP1 Beta that is already out.

    Hope this helps,

    Scott

  • @LindseyM,

    >>>>> Just one question: do I need to uninstall RC2 before installing the release version?

    No - you don't need to uninstall it. You can install the final MVC3 RTM on top of it.

    Thanks,

    Scott

  • @Eric,

    >>>>>>>> IIS.NET's web farm framework page still sayd Beta... is final being released?

    The team found a late bug and held the release to get the fix in (and forgot to tell me - sorry). The final web farm framework build will be out for download this week though.

    Sorry for the confusion,

    Scott

  • @Slaks,

    >>>>>>>> If Indentation Options for HTML is set to Keep Tabs in the VS Options dialog, close braces (}) in CSHTML pages are mis-indented.

    Send me email (scottgu@microsoft.com) and I'll connect you with someone to see if it can.

    Thanks,

    Scott

  • @anirudha

    >>>>>>>>> Hello scott i like this all thing you released yesterday but tell me something i am confused. in last post in july i read about "4 viewengine" but it is only one razor. where are other such as spark.

    Spark, NHaml and others are open source view engines maintained by others. You can install them via NuGet though (I believe there are packages for all of them).

    Hope this helps,

    Scott

  • @hintzen

    >>>>>>>>> Blows up during compile if you have the T4MVC.tt added to the project. While trying to compile the t4mvc.tt generated files the base T4MVC.cs gives a compile error of Error 12 The type 'System.Web.WebPages.Razor.WebRazorHostFactory' is defined in an assembly that is not referenced. You must add a reference to assembly 'System.Web.WebPages.Razor, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'

    Do you have the latest T4MVC installed? Send me email (scottgu@microsoft.com) if you still have issues.

    Thanks,

    Scott

  • @Paul Johnston,

    >>>>>>>> could you prehaps put the date of post somewhere prominant at the top of each blog?

    Sorry about that - I'm hoping to reskin my blog in the next few months and will make sure the date is prominent.

    Hope this helps,

    Scott

  • @Rei,

    >>>>>>>> VS2010 SP1 includes MVC3?

    MVC3 installs separately and isn't directly built-into SP1. It obviously works well with SP1 though.

    Hope this helps,

    Scott

  • @nick_uk,

    >>>>>>>> Keep getting this error but I only tried to install one file. Not sure what else it could mean:

    Can you send me email (scottgu@microsoft.com) and I'll connect you with someone to help.

    Thanks,

    Scott

  • @remy97,

    >>>>>>> Is there a standalone msi installer available for IIS Express?

    Here is the pointer: http://www.microsoft.com/downloads/en/details.aspx?FamilyID=abc59783-89de-4adc-b770-0a720bb21deb

    Hope this helps,

    Scott

  • @Martin,

    >>>>>>> There's currently now way of managing sql ce 4 databases from within vs 2010 without installing the sp1 beta? Is it possible to manage them from sql management studio?

    I don't believe SQL management studio supports that I'm afraid. The only other tool I know that currently supports it is WebMatrix.

    Hope this helps,

    Scott

  • @caof2000,

    >>>>>>>> Is there some guide/patterns or recommendation on how to migrate an ASP.NET MVC3 App to Windows Azure?

    Here is a pointer to deploying ASP.NET MVC 3 on Azure: http://drew-prog.blogspot.com/2011/01/how-to-publish-aspnet-mvc-3-app-to.html

    Hope this helps,

    Scott

  • @Gideon,

    >>>>>>> BUT~! I really think a standalone installer, atleast for IIS Express is really needed.

    Here is a link to it: http://www.microsoft.com/downloads/en/details.aspx?FamilyID=abc59783-89de-4adc-b770-0a720bb21deb

    Hope this helps,

    Scott

  • @Jonny,

    >>>>>>>> The automated upgrade tool failed with an exception, so i tried to do a manual upgrade. That also fails at step 6 - "Add a reference to System.WebPages.dll", because i don't have that file anywhere on my computer. I tried to run AspNetMVC3Setup.exe again, but still no dll. Help? :)

    Send me email (scottgu@microsoft.com) and we can help.

    Thanks,

    Scott

  • @Dofs,

    >>>>>>> Are there any guide how to upgrade a site from mvc2 to mvc3 and also how to upgrade to use Razor?

    The MVC3 release notes describes how to manually upgrade. I also link to a tool (in my post above) that automates updating your project.

    Hope this helps,

    Scott

  • @mailfolorunso

    >>>>>>>> Great news scottGu ! But how can we download IIS Express 7.5 as a separate installer package like asp.net mvc 3 ?

    Here you go: http://www.microsoft.com/downloads/en/details.aspx?FamilyID=abc59783-89de-4adc-b770-0a720bb21deb

    Hope this helps,

    Scott

  • @nachid,

    >>>>>>>> The is no way for me to have ASP.NET MVC 3 installed

    Send me email (scottgu@microsoft.com) and I can help.

    Thanks,

    Scott

  • @TheBlueSky,

    >>>>>>>>> 1. Wouldn't it be easier to categorize NuGet packages especially that they are growing in number; before we notice it'll be hard to find the package we want unless we know its name?

    Make sure to check out NuGet.org - it includes a search UI that allows you to search by categories. I expect that it will include some category navigation UI eventually.

    >>>>>>>> 2. Why Web Platform Installer is insisting to install SQL Express although I already have SQL Server Developer Edition intatalled?

    You shouldn't need to install SQL Express (MVC doesn't require it). What are you installing?

    Thanks,

    Scott

  • @Anthony,

    >>>>>>>> Will ASP.Net MVC 3 work with Mono?

    Yes - I believe it works already. The license explicitly allows it to work/run on Mono.

    Hope this helps,

    Scott

  • @quachnguyen

    >>>>>>> when will visual studio 2010 SP1 final?

    The final RTM release of VS 2010 SP1 will probably be a few weeks out.

    Hope this helps,

    Scott

  • @Kev,

    >>>>>>>> Is WebMatrix Web PI only? I have a few machines and would rather only download once then deploy.

    I believe there is a direct link to it as well - I'm trying to gather a list of links to all of the different releases and will post a comment once I have it.

    Hope this helps,

    Scott

  • @x64dev,

    >>>>>>>> For Windows x64, will there be a standalone installer of IIS Express? I want to run 64-bit app pools, so I'm assuming the x86 release can't do that.

    I believe IIS Express only runs in 32-bit mode - but supports WOW64 so will work on 64-bit systems.

    Hope this helps,

    Scott

  • @Daniel,

    >>>>>>>>> If javascript is disabled, does RemoteAttribute do the validation server-side when the form is posted alla RequiredAttribute? I can't get my remote validation code to execute when I turn off javascript (everything works flawlessly with javascript turned on). I don't know if I'm supposed to handle this manually and repeat the validations logic doing something like ModelState.AddModelError("Email", "{0} is not available.") in my action method. For the sake of keeping things DRY, I'm hoping not :) Congrats on this ENORMOUS release, impressive work.

    The RemoteAttribute only works from the client-side script. It is mostly aimed for scenarios where you want to execute some validation logic that would otherwise only be done at the model layer (when you save the model). The scenario I linked to above (verifying a username is unique) is an example of one - which would otherwise only fail when you submittd the form.

    What I'd recommend would be to encapsulate your actual validation logic such that you keep it DRY and just have the RemoteValidation controller invoke it (as opposed to duplicating it).

    Hope this helps,

    Scott

  • @Charlie,

    >>>>>>>> Question, is there no design view support for Razor? When I create a MVC3 project with the built template i get design/split/source. With Razor I only get Source.

    Razor is optimized more for code editing than designer scenarios. That is why it only supports a source-view experience.

    Hope this helps,

    Scott

  • @Tyrone,

    >>>>>>>> I'm also getting the "Fatal error during installation." after install. I did have the beta tools installed; but I un-installed first; but that didn't fix the issue. Scott, can you give us an email so sent the log file to, that they maybe someone there could figure it out. Thanks

    Sorry you are running into this. Can you send me email (scottgu@microsoft.com) and I'll connect you with someone to help.

    Thanks,

    Scott

  • @Stephan,

    >>>>>>>> The MS-PL code in MVC contains binaries for Razor that are not MS-PL and I could not find the source code to it. I wanted to experiment with Razor, is it going to be open source?

    We are working to make Razor MS-PL as well - but don't have it available just yet. We will hopefully release that source under MS-PL in the future.

    Hope this helps,

    Scott

  • @Dave,

    >>>>>>> Is there a roadmap for asp.net 5.0. Would be nice if you could blog about whats going on there.

    We are going to be publishing an ASP.NET roadmap later this year that will go into more details about all areas of ASP.NET (including core and web-forms). We are just finalizing the feature-set which is why we haven't published it yet.

    >>>>>>> Or have your developer teams all got focus on MVC. I'm sticking with web forms so any news would be appreciated.

    We are definitely investing in Web Forms. We shipped ASP.NET 4 last April and it contained a lot of improvements (routing, cleaner HTML, new controls like charting, better tooling support, etc). I have a bunch of posts about some of the features here: http://weblogs.asp.net/scottgu/archive/2010/12/31/links-to-my-best-of-2010-posts.aspx

    You'll see some big new Web Forms improvements coming with the next ASP.NET release.

    Hope this helps,

    Scott

  • @Polacek Petr

    >>>>>>> I have an problem with Orchard. On my local machine is everything ok, by when I try in on may webhosting server, it keeps me loging out all the time. I tracked this problem and I guess, that it is because the server is in diferent time zone (+ 3 hour). I tried to set up forms timeout in web.config with no success. Any idea how to fix this issue? Thank you very much in advance.

    Can you send me email (scottgu@microsoft.com) and I'll connect you with someone to help.

    Thanks,

    Scott

  • @Richard,

    >>>>>>>> Once question on SQLCE4 will it be available for SmartDevice projects such as those developed using VS2008 for the PocketPC?

    SQL CE 3.5 is available today for PocketPC devices. The SQL CE 4 release was primarily focused on "hardening" SQL CE for multi-threaded scenarios for hosts like ASP.NET.

    Hope this helps,

    Scott

  • @James,

    >>>>>>>> FYI, I started upgrading my two servers and personal machine to Web Platform Installer 3.0 and ASP.NET MVC 3, when I noticed that PHP 5.3 had been upgraded as part of this as well. Unfortunately, WPI only allows you to install PHP 5.3 (and 5.2) for WebMatrix, even though I have enabled IIS 7.5 on my Windows 7 machine. To work around this I installed the PHP Manager for IIS, which then installed PHP 5.3 as a dependency. I had no issue with installing PHP for IIS in WPI 2.0 on Windows 7 (Home Premium).

    Can you send me email (scottgu@microsoft.com) about this? I can then connect you with the team to investigate.

    >>>>>>>>> Also, is there any reason WPI keeps selecting the Express edition of VS on Server 2008 R2 machines when you install MVC? I had this happen with 2.0 as well. Since doing development on the server is generally frowned upon, it seems like an odd selection.

    Sorry about that - we just realized that it was doing that. We'll update the manifest not to require express shortly.

    Thanks,

    Scott

  • @Rupesh,

    >>>>>> it was very nice article, clearly explained how to create internationalized website. Appreciated effort! However, I think we should think more on this and create some thing so different framework which will support all the cultures...automatically.

    I agree it would be great to have a library and/or framework support to enable this. It is something we'll look at ways to improve in the future.

    Hope this helps,

    Scott

  • @Coder,

    >>>>>>>> Can I use WebMatrix to maintain websites in a heterogeneous environment? We have all sorts of websites on various platforms, including Windows Server and Linux. I really want one tool to support them all.

    WebMatrix V1 uses Web Deploy to publish apps to remote servers - so you can't point it directly at Linux box and have it work. What you can do, though, is use a separate FTP app to retrieve your site content from them to a local share and then use WebMatrix to edit and maintain the apps. You can then re-run the FTP tool to redploy them.

    Hope this helps,

    Scott

  • @Anders,

    >>>>>>> Trying to install MVC3 on a Windows 2008 Server R2(x64), IIS installed, MVC1 and 2, .NET4, IIS URL Rewrite Module 2 Server is patched with all patches from MS Update.

    Sorry you are running into this. Can you send me email (scottgu@microsoft.com) and we'll have someone help.

    Thanks,

    Scott

  • @John,

    >>>>>>> The new razor is really amazing! When are you announcing asp.net 5.0?

    We'll talk more about the next major release of ASP.NET later this year.

    Hope this helps,

    Scott

  • @Alex,

    >>>>>>>> Thank you for ASP.NET MVC! The job you do is amazing!.. When do you think this will work with Mono? (Specifically, Razor)

    I believe the binaries work today (although am not 100% sure).

    Hope this helps,

    Scott

  • @gjuro

    >>>>>>>> Web Matrix on Wikipedia talks about the old Matrix software, and Matrix (disambiguation page) on Wikipedia do not mention Microsoft at all. That should be corrected, and I am not good for that, being a beginner in Matrix. Otherwise, new Matrix sounds very good. Thank you.

    Good catch - we'll have someone update that - thx!

    Scott

  • @Bill,

    >>>>>>>>> Has the issue preventing the Async CTP and MVC 3 from installing together been resolved or do we need to wait for another drop from the Async guys?

    I believe you'll have to wait until the next async drop to support both of them at the same time.

    Sorry!

    Scott

  • @David,

    >>>>>>>> Great stuff! One quick question - if I want to deploy MVC3 apps should I simply upload the MVC assembly to the BIN directory on the hosting machine? Are there any other requirements? Pretty sure that with MVC2 that was the case.

    There are a few additional assemblies you need to include with MVC3. Drew has a blog post that talks about the exact list: http://drew-prog.blogspot.com/2011/01/how-to-publish-aspnet-mvc-3-app-to.html

    Hope this helps,

    Scott

  • @MartinF,

    >>>>>> After installing MVC3 my intellisense in Visual Studio is broken. It never shows method parameter information when entering the first "(" etc ... Great ... :(

    Can you send me email (scottgu@microsoft.com) and we can help you get it working again?

    Thanks,

    Scott

  • @To Everyone who asked for direct links to the installers

    I'm working on getting the direct links to all of the installers so that you can install them directly (as opposed to going through WebPI). I'll post another comment with links to them once I have them all.

    Hope this helps,

    Scott

  • When do we get localized version of ASP.NET MVC 3?
    And can you tell when we will get Visual Studio 2010 Service Pack 1?
    I can't wait!

  • Scott,
    When you release the final version of Web Farm Framework, can you post, or point us to articles showing more info about it. I think i read all articles multiple times (including your original post), and I still find it confusing. I have never used web deploy, which is probably the missing link.

    It would be helpful to see a practical example synchronizing two sites with NLB, hardware load balancer or redundant ARR.

    Thanks

  • Hi Scott, I was wondering how I would make use of a .net DLL in a WebMatrix project. I haven't been able to find any literature on the scenario, and the way to do it in old asp.net would require new syntax for razor. I'm sure there's something I'm missing, I just don't know what.

    Cheers,
    George

  • Scott,

    An update on updating MVC3 RTM on to op RC, it didn’t work for me as a got fatal errors during install.
    Apparently VS SP1 is the culprit, this is how I managed to get things installed:
    1. uninstall VS SP1.
    2. Reboot (must be doen)
    3. Install MVC 3
    4. Reinstall VS SP1

    Hope this can help those with the same configuration I had.
    Dan

  • Excellent release Scott, one question though. The download page does not state Windows XP as a supported OS for ASP .NET MVC 3. Is XP really unsupported? Since we are still working on XP SP3 here, this would be a little bit disappointing.

  • Scott,

    I am attempting to use WebMatrix to test a site using https://, but I keep getting 404 errors.

    I uninstalled and re-installed WebMatrix several times, and it would work for a time, but then the 404 errors would return. Help!

    counsellorben

  • Hi,

    Cant get this mvc3 to work.

    For example, create a new mvc3 empty application and in Views/web.config/config section, there are references to unresolved assembly:
    "Invalid module qualification: Failed to resolve assembly System.Web.WebPages.Razor". Also :
    "WebViewPage must be convertible to System.Web.ULPage"

    Followed the instructions in the doc to convert another mvc2 app seemingly ok. But for e.g. Create.cshtml I dont get any intellisense for strongly typed VieModel objects like I see in all the razor example screen shots elsewhere in this site.

    I tried adding a reference to "System.Web.WebPages.Razor.dll" from \Program Files\Microsoft ASP.NET\ASP.NET Web Pages\v1.0\Assemblies to no avail.

    Help.

  • The installation of WebMatrix is taking so long. I had previous version of WebMatrix already installed. I opened WebPI and selected WebMatrix to install. It asked me for other dependency and I accepted that. Downloading went fine and all dependencies were installed successfully but the process kept on going for hours with message "Installing Microsoft WebMatrix[5 out of 6] forever about 3+ hours. So I clicked cancelled but cancellation kept going on for another hour. I did a hard cancel from taskmanager.
    I uninstalled the WebMatrix from control panel and started installation again and it is about 15 mins and still going on.

    Any ideas?

    Sorry, unfortunately, I closed the error detail install log which I got by WPI after hard cancel.

  • THANKYOU.... MVC3.0/Razor is absolutely brilliant.

    And the new Compact 4.0 SQL is awesome.

    Can't wait to see SP1 and Silverlight 5.0!!!!!

    THANKYOU THANKYOU THANKYOU...

  • Scott,

    I'm wondering if any of what is new in MVC will ever be applied to Web Forms? While I think MVC is really cool, it's basically unusable at this point for business applications that need rich controls. Going back to coding everything in low-level HTML is a step backwards and is a tough sell to shops that need to get things done fast and need robust UI controls. Also, I think the event model in Web Forms is a good thing and is quite useful. I would like to see data binding in Web Forms revamped and made so that it is more like MVC or even WPF/Silverlight. Data binding in Web Forms is in serious need of an overhaul IMHO. In fact, I was thinking it would be cool to be able to design the UI using XAML and have it output HTML. All I'm saying is that I don't think you should forget about Web Forms. There wasn't a whole lot new in version 4. The other thing is that I don't understand why it has to be one or the other, JavaServer Faces uses MVC, but, it also has a component model.

    Also, I think it's pretty lame that less source code available in RTM of MVC than there was for Beta. Furthermore, I would like to see the source code for .NET included with Visual Studio. I know you can configure it so that you can step debug into it and have it download the source on the fly, but, I think it's a lame half measure and F12 doesn't work properly with it if you're not in debug mode. It's not like someone couldn't just decompile the code using Reflector anyways. So, I don't see what you're gaining by not releasing the source. This is an area where I think Java is still better.

    Also, if HTML 5 is such a high priority for Microsoft now, it would be great if Microsoft were to implement it in it's entirety and do things right this time. Note, HTML 5 support != to just supporting the video and audio tags. It would be great if HTML 5 actually had an editable combo box. Or, do we have to wait for HTML 6 for that?

  • Can the MVC3 source be built with target framework = 4.0 ? I remember some weird issue at runtime when doing this with MVC2.

  • @Nana,

    >>>>>>> When do we get localized version of ASP.NET MVC 3?

    We'll post the localized builds of ASP.NET MVC 3 later this week

    >>>>>>> And can you tell when we will get Visual Studio 2010 Service Pack 1?

    This will ship in a few more weeks.

    Hope this helps,

    Scott

  • @Emil,

    >>>>>>> When you release the final version of Web Farm Framework, can you post, or point us to articles showing more info about it. I think i read all articles multiple times (including your original post), and I still find it confusing. I have never used web deploy, which is probably the missing link. It would be helpful to see a practical example synchronizing two sites with NLB, hardware load balancer or redundant ARR.

    We'll post several articles once it is live.

    Thanks!

    Scott

  • @George,

    >>>>>>> Hi Scott, I was wondering how I would make use of a .net DLL in a WebMatrix project. I haven't been able to find any literature on the scenario, and the way to do it in old asp.net would require new syntax for razor. I'm sure there's something I'm missing, I just don't know what.

    You should be able to just add the assembly into the \bin directory of the application. Then you can use any of the types within it.

    Hope this helps,

    Scott

  • @DanG,

    >>>>>>> An update on updating MVC3 RTM on to op RC, it didn’t work for me as a got fatal errors during install.

    Sorry you ran into this - glad you got it working in the end though!

    Scott

  • @Martizzo,

    >>>>>>>> Hi Scott, congrats on very good article, I like Microsoft products, but can you compare SQL CE and SQLite products in .NET enviroment. Is one supported better ? (I'm using SQLite, so is there some reason to use SQL CE). SQLite provides same functionality tho. Also it is open source DB engine.

    They are pretty similar in approach (both embedded databases that run in-memory).

    One benefit that SQL CE has for ASP.NET scenarios is that it works in medium-trust hosting environments. This includes shared hosting providers.

    Hope this helps,

    Scott

  • @Diederik,

    >>>>>>>> Excellent release Scott, one question though. The download page does not state Windows XP as a supported OS for ASP .NET MVC 3. Is XP really unsupported? Since we are still working on XP SP3 here, this would be a little bit disappointing.

    It should work fine on XP SP3. Anywhere that VS 2010 is supported it will work.

    Hope this helps,

    Scott

  • @counsellorben

    >>>>>>> I am attempting to use WebMatrix to test a site using https://, but I keep getting 404 errors. I uninstalled and re-installed WebMatrix several times, and it would work for a time, but then the 404 errors would return. Help!

    If you can send me email (scottgu@microsoft.com) I can connect you with someone to help.

    Thanks,

    Scott

  • @Jay,

    >>>>>>> Cant get this mvc3 to work.

    Sorry you are running into this. Send me email (scottgu@microsoft.com) and we can help.

    Thanks,

    Scott

  • @gs,

    >>>>>>> The installation of WebMatrix is taking so long. I had previous version of WebMatrix already installed. I opened WebPI and selected WebMatrix to install. It asked me for other dependency and I accepted that. Downloading went fine and all dependencies were installed successfully but the process kept on going for hours with message "Installing Microsoft WebMatrix[5 out of 6] forever about 3+ hours. So I clicked cancelled but cancellation kept going on for another hour. I did a hard cancel from taskmanager. I uninstalled the WebMatrix from control panel and started installation again and it is about 15 mins and still going on.

    Sorry about that - it might have been due to the previous install. Did the second install work? If not send me email (scottgu@microsoft.com) and we can help.

    Thanks,

    Scott

  • @Tomasz,

    >>>>>> Re: WebDeploy, there are two files available:

    >>>>>> WebDeploy_amd64_en-US.msi 5.1MB

    >>>>>> WebDeploy_x86_en-US.msi 5.0MB

    >>>>>> Which one to use on the 2008R2 64bit server?

    You'll want to use the amd64 version for 64-bit systems.

    Thanks,

    Scott

  • @jemiller

    >>>>>>>> I'm wondering if any of what is new in MVC will ever be applied to Web Forms? While I think MVC is really cool, it's basically unusable at this point for business applications that need rich controls. Going back to coding everything in low-level HTML is a step backwards and is a tough sell to shops that need to get things done fast and need robust UI controls. Also, I think the event model in Web Forms is a good thing and is quite useful. I would like to see data binding in Web Forms revamped and made so that it is more like MVC or even WPF/Silverlight. Data binding in Web Forms is in serious need of an overhaul IMHO. In fact, I was thinking it would be cool to be able to design the UI using XAML and have it output HTML. All I'm saying is that I don't think you should forget about Web Forms. There wasn't a whole lot new in version 4. The other thing is that I don't understand why it has to be one or the other, JavaServer Faces uses MVC, but, it also has a component model.

    You'll continue to see a lot of investment in Web Forms going forward. You'll also see some ideas we first incubated in MVC show up in Web Forms, and others from Web Forms show up in MVC in the future. We think both are important going forward.

    >>>>>>>>> Also, I think it's pretty lame that less source code available in RTM of MVC than there was for Beta. Furthermore, I would like to see the source code for .NET included with Visual Studio. I know you can configure it so that you can step debug into it and have it download the source on the fly, but, I think it's a lame half measure and F12 doesn't work properly with it if you're not in debug mode. It's not like someone couldn't just decompile the code using Reflector anyways. So, I don't see what you're gaining by not releasing the source. This is an area where I think Java is still better.

    I'm not sure I understand this - we have more source released with MVC 3 RTM than previous releases (not less). We also are releasing all of the core MVC source code under the MS-PL license - which is our broadest source license and allows using it on other platforms.

    >>>>>>>> Also, if HTML 5 is such a high priority for Microsoft now, it would be great if Microsoft were to implement it in it's entirety and do things right this time. Note, HTML 5 support != to just supporting the video and audio tags. It would be great if HTML 5 actually had an editable combo box. Or, do we have to wait for HTML 6 for that?

    IE9 has very rich support for HTML5 and a first class implementation of it. We do a lot more than the video/audio tag.

    Thanks,

    Scott

  • @andrew,

    >>>>>>> Can the MVC3 source be built with target framework = 4.0 ? I remember some weird issue at runtime when doing this with MVC2.

    Yes - MVC3 actually requires .NET 4 (since it uses several of the new .NET 4 features).

    Thanks,

    Scott

  • Is very missing mixed project that allows to use both the WebForm and Mvc application together, out of the box. I would like start to use the MVC in my legacy WebForm project.

  • Correction in my earlier message: I installed ASP.NET MVC 3 on XP SP3 workstation successfully, but when I opened a new MVC 3 project in VS 2010, it hangs. The VS 2010 repair did not help. I have uninstalled VS 2010 SP1 Beta to fix the issue (it uninstalled ASP.NET MVC 3 as well). I have installed ASP.NET MVC 3 again and now I am able to create a new ASP.NET MVC 3 projet in VS 2010.

    Now, WebMatrix install hangs. I killed the process and tried again with no luck.

    Thanks!

  • Tuesday, January 18, 2011 1:36 AM by ScottGu
    @andrew,

    >>>>>>> Can the MVC3 source be built with target framework = 4.0 ? I remember some weird issue at runtime when doing this with MVC2.

    Yes - MVC3 actually requires .NET 4 (since it uses several of the new .NET 4 features).

    Thanks,


    Hi Scott, thanks for the reply.

    The downloaded source has the Target Framework set to 3.5, that is why I was asking. If the DLL requires .NET 4, why is the target set to 3.5, and can the target be changed to .NET 4. The reason I am asking is that we tweak the project with some of our own .NET 4 stuff.

  • Scott,

    I'm talking about how MVC 3 Beta had more source code in it than MVC 3 RTM. The Web Pages project isn't included in the RTM. I was hoping to take look at the WebGrid implementation because it seemed to still need a lot of work as of the Beta.

  • @jemiller,

    >>>>>>>>> I'm talking about how MVC 3 Beta had more source code in it than MVC 3 RTM. The Web Pages project isn't included in the RTM. I was hoping to take look at the WebGrid implementation because it seemed to still need a lot of work as of the Beta.

    The source code for all of that is available with RTM. If you go to: http://aspnet.codeplex.com/releases/view/58781. The source code is available and the grid is at this path in the related zip file : mvc3-rtm-sources\webpages\src\System.Web.Helpers\WebGrid

    Hope this helps,

    Scott

  • thanks scott... nice post... liked MVC/RAZOR enhancement and Web Matrix + SQL CE alot
    Need to check IIS 7.5 Express capabilities does it have WPAS, WCF support for non http protocols ?

    Rahul Jain

  • @Ravi,

    >>>>>>> Correction in my earlier message: I installed ASP.NET MVC 3 on XP SP3 workstation successfully, but when I opened a new MVC 3 project in VS 2010, it hangs. The VS 2010 repair did not help. I have uninstalled VS 2010 SP1 Beta to fix the issue (it uninstalled ASP.NET MVC 3 as well). I have installed ASP.NET MVC 3 again and now I am able to create a new ASP.NET MVC 3 projet in VS 2010.

    Can you send me email (scottgu@microsoft.com) and we can help?

    Thanks,

    Scott

  • I installed beta version two weeks ago, it does not run with MVC 2, some of projects can not open normally, I will try this version later.

  • @Scott,
    >>>>>>>You shouldn't need to install SQL Express (MVC doesn't require it). What are you installing?
    I wasn't clear about the question I guess :)
    I was talking in general about WPI. When I choose to download an application that requires SQL Server it always asks to install SQL Express even when you have another SQL Server version installed.

  • Thanks Scott. Sorry for being grumpy earlier. I think I was just in a tired and in a bad mood. The new link you provided does indeed include the web pages project. Not sure why, but, the first one you provided at the top of the blog doesn't have it.

  • I tried to install ASP.NET MVC3 yesterday evening. After waiting for 2 hours to get the installer to complete, I decided to cance the installation. Now it is "Rolling Back" for hours. This does not seem normal to me. I am having a Core i7 machine with Win 7 Professional, 8 GB or RAM and a 7200 RPM hard disk. I also closed all the other applications before starting the install and I have never installed the beta versions ov MVC3. The progress bar of the installer was constantly on "installing vs10-KB2483190-x86" during the installation and now it is constantly on "Rolling back vs10-KB2483190-x86". However there is not progress on the progress bar itself. There is a constant activity on the Hard Disk, what makes me think it is really doing something.

    Is anybody else experiencing this problem?

  • Hi Scott,

    In my project I have the following route:

    routes.MapRoute(
    "SearchBanners",
    "Banners/{status}/{site}/{page}/",
    new { controller = "Banners", action = "ExecSearch", site = UrlParameter.Optional, page = UrlParameter.Optional },
    new { status = STATUS_CONSTRAINT, site = "[a-z].+" }
    );

    Action Method: ExecSearch(BannerStatus status, string site, string page)

    Since site and page are optional parameters, I thought I could list all banners by status using the url /Banners/All. It works in MVC 2 but it doesn't work in MVC 3.

    What I've found interesting is that if I change the constraint to "[a-z]+" it also doesn't work in MVC 2.

    Is this the expected behavior? Sometimes we have a parameter that is optional, but if it's provided it must adhere to certain rules. I know I could have another route without the optional parameters but I would rather prefer a single route.

  • The first sentance reads, "I’m excited to announce the release today of several products".
    There is no date on the blog anywhere. I don't know if this is old news or not. :(

  • Hi,
    Webfarm Framework is the first thing look nice, but the version which you can download still stubbornly insists on installing the old version WebDeploy I did not install it with WebDeploy 2.0 which is needed for WebMatrix.Dalsi thing I do not much like them is that they do not support IIS shared config.

    Da sometimes download the Web farm to support WebDeploy Framework 2.0?
    It will have a web farm Framework support shared IIS config?

    Thank you Ivo

  • Hi Scott, thanks for the great updates! I have one-two feature requests, that if they've not been already added:

    Have there been any plans to add methods such as PartialViewHTML, which would return the HTML of the partial view? Also, I was wondering if it would be possible to retrieve the QueryString parameters in a raw format (which has not been automatically decoded by MVC). I currently have to get the raw URL and parse out the parameters.

    Thanks!

  • I'm having this exact same problem...the setup is stuck at "installing vs10-KB2483190-x86" and trying to cancel causes the rollback to begin, but its stuck as well.

    Wednesday, January 19, 2011 5:34 AM by Tombasa

    I tried to install ASP.NET MVC3 yesterday evening. After waiting for 2 hours to get the installer to complete, I decided to cance the installation. Now it is "Rolling Back" for hours. This does not seem normal to me. I am having a Core i7 machine with Win 7 Professional, 8 GB or RAM and a 7200 RPM hard disk. I also closed all the other applications before starting the install and I have never installed the beta versions ov MVC3. The progress bar of the installer was constantly on "installing vs10-KB2483190-x86" during the installation and now it is constantly on "Rolling back vs10-KB2483190-x86". However there is not progress on the progress bar itself. There is a constant activity on the Hard Disk, what makes me think it is really doing something.

    Is anybody else experiencing this problem?

  • @Jay,

    I have same issue in View web config. But everything works - intellisense, compiles and runs.
    I thought that it ReSharper issue.

  • FYI,

    I had the similar problem related in comments above of the installation of MVC3 failing. I believe the problem to be the installation of VS10-KB24831290-x86 when you have VS 2010 with SP1 installed. I uninstalled the SP1 beta and MVC 3 installed without issue.

  • I am big fan of web farm!

  • Thank you for MVC3! I've waited for a while by checking your blog every day. I finally upgraded my mvc2 project using upgrade tool to MVC3.
    I was happy since there was no problem while converting.

    BUT! Lots of existing links turned to be BROKEN!!!!! I was soooo afraid. However, I found the FIX right away and want to share it here.

    Global.asax:
    routes.MapRoute("QuoteDetail",
    "quotations/{SayingTitle}/{SayingId}/{QuoteDetailPage}/",
    new { controller = "Quote", action = "Detail", QuoteDetailPage = UrlParameter.Optional }
    );
    ASPX page:


    => URL result must be:
    http://quotedepot.net/quotations/love-is-life-and-if-you-miss-love-you-miss-life/292277

    => But, it returned Empty string in MVC.

    Solution:
    Remove trailing "/" from Routing rule.
    routes.MapRoute("QuoteDetail", "quotations/{SayingTitle}/{SayingId}/{QuoteDetailPage}/"
    Is Changed TO:
    routes.MapRoute("QuoteDetail", "quotations/{SayingTitle}/{SayingId}/{QuoteDetailPage}"

    Now it works!!.

    Don't be stunned like me. It's just one character fix!
    I hope it helps others.

  • One more thing.
    The problem occurs in only those routing rule with parameters like the previous example.
    Routing rules without parameter such as
    "quotes-of-the-day/"
    doesn't have problem.

  • Good day! My web-master designed my web-page with ASP pages. Sadly he was murdered. I was hoping you could put me in touch with somebody that can help me in Johannesburg, South Africa. My site is 99% complete, but I do need a couple of changes, etc. Most of the individuals I phone in Johannesburg is not working on ASP. Can you help please?

    Kind regards,
    Judith

  • Hi ,

    I know MVC in theory. I want to start learning MVC 3. I never read MVC 1 or 2. What is the good point to start learning MVC3? Do I need to go through MVC 1 & 2 before 3?

    Thank you

  • Hello Scott,

    Thank you for your blog post. I am curious, however I cannot understand why do you register same namespaces in the MVC 3 web application template. For example, the System.Web.Mvc and System.Web.Mvc.Html namespaces are registered in root web.config and Views/web.config files. I have found out that in some cases the Intellisense does not work if you register namespaces in root web.config files, but do not repeat the same code in Razor web.config file

    Thanks,
    Vest

Comments have been disabled for this content.