ASP.NET MVC 1.0

mvcsource[1] Two weeks ago at MIX we released ASP.NET MVC 1.0.  ASP.NET MVC is a free, fully supported, Microsoft product that enables developers to easily build web applications using a model-view-controller pattern.  ASP.NET MVC provides a “closer to the metal” web programming option for ASP.NET.  It enables full control over HTML markup and URL structure, and facilitates unit testing and a test driven development workflow.

Releasing the ASP.NET MVC source code under MS-PL

I’m excited today to announce that we are also releasing the ASP.NET MVC source code under the Microsoft Public License (MS-PL).  MS-PL is an OSI-approved open source license.  The MS-PL contains no platform restrictions and provides broad rights to modify and redistribute the source code.  You can read the text of the MS-PL at: http://www.opensource.org/licenses/ms-pl.html

Learning more about ASP.NET MVC

To learn more about ASP.NET MVC, you can read my free ASP.NET MVC PDF tutorial that covers building an end-to-end application (starting literally with File->New Project).

There were a number of great ASP.NET MVC talks at MIX this year.  Below are links to several of them:

There are also several great ASP.NET MVC tutorials at http://www.asp.net/mvc.  You can also read the ASP.NET MVC MSDN Documentation.

Download ASP.NET MVC

Click here to download and install ASP.NET MVC 1.0.  You can also install it using the new Microsoft Web Platform Installer V2 – which provides an integrated setup experience for the entire Microsoft web stack.

The ASP.NET MVC 1.0 source code is now available.  Scroll down to the bottom of the ASP.NET MVC download page and you’ll find links to both the ASP.NET MVC 1.0 integrated MSI setup, as well as a .zip file that contains the ASP.NET MVC source code.  The ASP.NET MVC source code includes a VS 2008 project file that enables you to build it.

Hope this helps,

Scott

62 Comments

  • Wow. Excellent move. I like the direction things are going. Thanks Scott and team.

  • Great news, thanks Scott!

  • Excellent! Going to download it now. Thanks Scott!

  • Props to you folks at MS for pushing this out open source. There have been some amazing changes for the better at MS over the last few years. There's still plenty of change that needs to happen, but some pretty stunning steps have been made.

    Excellent news!

  • This is great!! Congratulation Microsoft!

  • wow. I did not see that one coming! That is game changing news!

  • Love the MVC Scott. So glad MS jumped in with this. IMO a huge move towards straight-forward and testable web apps.

  • great news that keeps getting better - thanks scott and team

  • Things just keep getting better and better with ASP.NET MVC. Awesome !

  • Will you be accepting external contributions? An OSI license is one thing, but accepting contributions is another.

  • nice to see u back blogging. Hope to hear more on silverlight stuff...

  • Free and fully supported! We like that! Hope Microsoft will give more products like this!

  • Great, thank you and your team for sharing your work!

    Is there anyway we can get the source for System.Web.Routing? Because I really need to get a better understanding of route parsing and matching, and Reflector is not enough, I need to step through the code.

  • If every website would be written using MVC, I wouldn't have to go through hell on every project! Started my own big MVC website a week ago, and I must say, this is above brilliance! Now that it's open source, it will get even better! Keep up the excellent work!

  • Great news. Thanks Scott.

  • This is excellent news! Congratulations to all who made this possible :)

  • Hi,
    someone says that:

    ASP.NET 3.5 > ASP.NET MVC

    (for several different reasons).

    What do you think about?

    Thanks a lot.

    Luigi

  • May be this sounds funny. But if you make source code for ASP.Net also under MS-PL, it will be 10 times more stronger and flexible. I know what I am talking, but may be when the real user like me will go deep and see whats happening behind the scenes, we can better comment. And sometime its real user who invent the real use of a technology.
    Shail

  • Nice move to Open Source. My RESTful web service code built on top of the ASP.Net MVC is also free to all ;-) http://www.shouldersofgiants.co.uk/Blog

  • Scott, this is fantastic news! The EULA in the installer seems incompatible with this milestone, however:

    "2. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not
    * work around any technical limitations in the software;
    * reverse engineer, decompile or disassemble the software, except and only to the extent that applicable law expressly permits, despite this limitation;
    * publish the software for others to copy;
    * rent, lease or lend the software; or
    * __transfer the software or this agreement to any third party.__"

    We rely on ASP.NET MVC for a couple of products that we sell to customers (for them to install locally, not in a SaaS-type environment). That EULA clause would appear to prevent us from re-distributing ASP.NET MVC in any form (even the pre-packaged installer). Please could you clarify?

  • @shailatlas - if you want to see "what's behind the scenes" in ASP.NET you can already download the source code. It's not MS-PL - you can't do anything other than look at it, but it can still bevery useful.

  • Microsoft lost the battle again open source :)

  • Scott, you made Microsoft a better tool to work with.
    Really welcome the big move and keep up the good work.

  • Yay! Production code; now I can convince my boss to let me deploy an MVC app! :) Kudos to the whole team, much looking forward to see how things progress from this point.

  • I have always loved C# and the ASP.NET platform and this just makes it rock that much more. The only thing that java ever offered was the ability to deploy on Mac and Linux boxes(though I have never needed to :)) and now with more of the .Net being Open Sourced I have no longer been thinking about perhaps picking up java.

  • Amazing, very amazing, I'm extremely excited for the port. Thanks.

  • Some people say using MVC is more effective , shorten dev times etc...
    But in my optional ,if build a complex web application, i still going for webforms with rich control.
    At now, i think ASP.NET MVC can be enhance.

  • Now if we could just get Powershell on Mono it would be game over..

  • As long as this is tied to Visual Studio, is it __really__ open source, or just a marketing ploy...

  • Somewhere in hell a snowflake cheered ... looked around some more ... and cheered some more ;)
    Good *sensible* move guys, sure to thaw the cold shoulder from the Open Source crowd.

  • Scott

    Can you advise how I get an mvc site working "extensionless" on an IIS 5.1 deployment. I can get the default page loading but no further.

    Thanks

  • Nice to see some positive moves from MS (jquery and this, oh and a better IE). Thanks Scott & co.

  • Sorry folks I'll stick with java using some apache licenses. We all know where .net is going despite being good technologically

  • How do we know Microsoft won't sue about some patent? They sued Tom Tom!

  • Excellent news. Just one question:

    Do you guys plan to accept contributions from the community? This could be a great deal for users and for Microsoft as there are so many talented people that could improve the technology in ways that meets Microsoft's vision and road map.

  • @Mehmet Ali,

    I've talked to Scott and others on his team. From my perspective and for some time now, there has been a cultural shift at Microsoft. This announcement is a further sign of that shift. It is refreshing, and very welcome. I'm stoked about it.

  • I appreciate the license Scott. I am a .net developer and love the asp.net mvc framework and am using it for my government projects because they can afford to use all Microsofts products legally. At home though I run linux and mono and feel like I spend so much time learning different sets of technology to stay open and free. Its nice that I can use some of what I learn at work at home now.

  • Hi Scott,
    I have installed this, but still this version doesn't have the implementation from MVCToolkit and I am not able to compile the MVCToolkit project also. Development done using MVCToolkit are not supported in ASP.NET 3.5 SP1. Also i have seen another assembly called MVC Futures in codeplex,i.e Microsoft.Web.Mvc. Can you please let us know whether we can wait for next version of MVCToolkit or whether it will be merged with Microsoft.Web.Mvc or System.Web.Mvc or we need to remove the code done with MVCToolkit? Also the differences between MVCFutures & ASP.NET MVC 1.0.

    Thanks,
    Rajan

  • excellent news. Pretty excited about this.

  • Great news, thanks Scott!

  • Now that the MVC Framework has been released you need a name a for it. How about Rails.NET or Nails? Seriously though, this breathes much needed new life into the monstrosity that ASP.NET has become. My big complaint is the 'ORM'. It is 2009 and it is unacceptable to me that I am still forced to create database tables, FKs, and write queries. And yes, LINQ is a thinly veiled query with intellisense. Really. Why don't you look into stealing Django's ORM? I prefer it over ActiveRecord anyway and they have been getting it right for _years_. But, overall I give Microsoft a solid B for its foray into modern web frameworks.

  • Great news, thanks Scott!

  • Hi, Scott. I want to use Ajax Control (ex, Timer control) in ASP.NET MVC 1.0. Can you explain for me about it ?

  • This is great! I don't use a lot of .NET, but I hope the .NET community keeps moving in this friendly-knowledge-sharing direction.

  • Good news. Would be nice to be able to browse the source via the web as opposed to having to download.

  • This is great. The MIX always has some good announcements. MVC pattern for ASP.NET really helps a lot to design a cleans and structured framework for web application.
    Thanks Scott and team for such wonderful release.

  • You are one serious asshole.. how do you know so much..?? :P

  • Scott, I have a few questions.
    1) I have been using MVP from Web client software factory for a while.
    I can see why MVC is better because of more defined concerns but if the models are going to change every year or so. Shoud we follow MVC or wait for a more robust pattern to follow.

    I shall add I used to develop with Enterprise Library. I haven't heard about that for good time.

    2) Any blog or post where I can find information about how we join the RIA services with MVC? More information can be found on Brad Adams or Nikhil Kotari's blogs. Or when I say create view in MVC it actually creates a XAML page or similar??

    Regards,
    Deepak Chawla

  • This is totally a non sequitur, but wouldn't it be cool if blog software separated PingBacks from actual comments? That way I wouldn't have to sift...

  • Loving it so far. Cheers

  • I don't want to rain on anybody's parade, but...

    How about these questions:

    * Thursday, April 02, 2009 12:26 AM by John:
    Will you be accepting external contributions? An OSI license is one thing, but accepting contributions is another.

    * Thursday, April 02, 2009 6:34 AM by Alastair Smith
    Scott, this is fantastic news! The EULA in the installer seems incompatible with this milestone, however

    * Thursday, April 02, 2009 4:21 PM by ummm, no
    As long as this is tied to Visual Studio, is it __really__ open source, or just a marketing ploy...

    If the license says one thing, and the EULA says another, which one is implemented - the one that is embedded in the product itself, or the one you have to click "OK" to when you install the app?

    This could just as well be Microsoft trying to do to the Web what they did to the desktop - once a large enough portion of sites and run MVC, kill support for the OS side, and what are people going to do?

    Hence, I quote Vergil:
    "Quidquid id est, timeo Danaos et dona ferentes. - Whatever it is, I fear Greeks bearing gifts."

  • My Bad. I used the wrong jquery version reference in the site.master in the script tag (1.26 rather than 1.32 in my project) correcting this does display the maps. Although now I'm fighting the map position on the form and am losing that fight.

  • Nice job on everything MVC! I've downloaded your NerdDinner app and I'm trying to use the PaginatedList helper method in a new MVC app. And for the most part it's working ok, the biggest problem I'm having is for the paging.

    In the Index(int? page) action, the "page" parameter is always null. My code is identical to yours so I don't know where this is going wrong. Can you tell me if this is more of a routing issue, with the "Previous" or "Next" paging links, or is it a view life cycle issue?

    There's no error, just "page is null".

    Thanks.

  • hi scott
    u r great.you and your team working way is so good .



  • can any one of you ppl please send me the code to bind gridview in mvc 1.0.

    i am getting the following error when i try to bind data to the gridview.

    Compiler Error Message: CS1928: 'System.Web.Mvc.HtmlHelper' does not contain a definition for 'GridView' and the best extension method overload 'MvcGridView.Extensions.GridViewExtensions.GridView(System.Web.Mvc.HtmlHelper, MvcGridView.Extensions.GridViewData, System.Action<MvcGridView.Extensions.GridViewData>, System.Action, string, string, System.Action, System.Action<MvcGridView.Extensions.GridViewData>)' has some invalid arguments

  • Hi Scott,

    Do you have any upcoming blogs on how MVC and Silverlight work with each other?

  • Hi Scott,

    I had few queries related to ASP.NET MVC:
    1. Microsoft is heading towards two major web platforms- the Silverlight/WPF and ASP.NET MVC. Now my question is which is the best suited platform for the web applications or rather, Can we combine Silverlight with MVC to come over a better application design?
    2. The MVC pattern does not always suits all the application components. Can we use the MVP with MVC in a single web application? And how robust that design will be?

    Thanks!
    Sandeep

  • Hi sandit27,
    related to your first question. Silverlight is something different than ASP.NET MVC, it's the same as flash. You can use it in any HTML page, that means in MVC as well. From my point of view from these three is best to use MVC. Neither silverlight nor WPF will be indexed by robots and the returned code is much more bigger. MVC will be executed on server, Silverlight and WPF on client side (most of it). It can be nice to use WPF for BE application, where you knows that client will support them, and you want to create windows application as well.

  • Thanks for the info marten_cz. Thus, MVC is best when creating high performance and business critical web applications. If we want to add some fancy items, then use Silverlight or WPF. Today, I was just going through some of the blog posts provided by Scott G. The MVC and URL Routing pattern is really awesome. Thanks to Scott and Team. I would wish to meet Scott G. personally, if I get a chance to visit Redmond. In my last visit I was unable to... :)

  • Here comes one more Q ...

    Not all the websites provide sitemap (sitemap.xml) for the search engine crawlers. The search engines typically use the sitemap protocol for searching pages (or valid URL's) through the web site and then index the pages. Now my question is: Using URL Routing technique of ASP.NET MVC, will they (crawlers) be able to reach the entire content of the web site? Or will it become mandatory to provide a sitemap?

  • Great news, thanks for the link Scott :)

  • How will Microsoft be distributing ASP.NET MVC moving forward? Will it be part of .NET 3.5 SP2? or only .NET 4.0? I have issues getting any new DLLs onto my production environment besides what Microsoft specifically distributes. Thanks reten with the @ gosolstice.com

Comments have been disabled for this content.