ASP.NET MVC Installer For Visual Studio 2010 Beta 1 And Roadmap

0 comments suggest edit

A little while ago I announced our plans for ASP.NET MVC as it relates to Visual Studio 2010. ASP.NET MVC wasn’t included as part of Beta 1, which raised a few concerns by some (if not conspiracy theories!) ;). The reason for this was simple as I pointed out:

One thing you’ll notice is that ASP.NET MVC is not included in Beta 1. The reason for this is that Beta 1 started locking down before MVC 1.0 shipped. ASP.NET MVC will be included as part of the package in VS10 Beta 2.

We’re working hard to have an out-of-band installer which will install the project templates and tooling for ASP.NET MVC which works with VS2010 Beta 1 sometime in June on CodePlex. Sorry for the inconvenience. I’ll blog about it once it is ready.

Today I’m happy to announce that we’re done with the work I described and the installer is now available on CodePlex. Be sure to give it a try as many of the new VS10 features intended to support the TDD workflow fit very nicely with ASP.NET MVC, which ScottGu will describe in an upcoming blog post.

If you run into problems with the intaller, try out this troubleshooting guide by Jacques, the developer who did the installer work and do provide feedback.

You’ll notice that the installer says this is ASP.NET MVC 1.1, but as the readme notes point out, this is really ASP.NET MVC 1.0 retargeted for Visual Studio 2010. The 1.1 is just a placeholder version number. We bumped up the version number to avoid runtime conflicts with ASP.NET MVC 1.0. All of this and more is described in the Release Notes.

When VS10 Beta 2 comes out, you won’t need to download a separate standalone installer to get ASP.NET MVC (though a standalone installer will be made available for VS2008 users that will run on ASP.NET 3.5 SP1). A pre-release version of ASP.NET MVC 2 will be included as part of the Beta 2 installer as described in the …

Roadmap

Road Blur: Photo credit: arinas74 on
stock.xchng

I recently published the Roadmap for ASP.NET MVC 2 which gives a high level look at what features we plan to do for ASP.NET MVC 2. The features are noticeably lacking in details as we’re deep in the planning phase trying to gather pain points.

Right now, we’re avoiding focusing the implementation details as much as possible. When designing software, it’s very easy to have preconceived notions about what the solution should be, even when we really don’t have a full grasp of the problem that needs to be solved.

Rather than guiding people towards what we think the solution is, I hope to focus on making sure we understand the problem domain and what people want to accomplish with the framework. That leaves us free to try out alternative approaches that we might not have considered before such as alternatives to expression based URL helpers. Maybe the alternative will work out, maybe not. Ideally, I’d like to have several design alternatives to choose from for each feature.

As we get further along the process, I’ll be sure to flesh out more and more details in the Roadmap and share them with you.

Snippets

One cool new feature of VS10 is that snippets now work in the HTML editor. Jeff King from the Visual Web Developer team sent me the snippets we plan to include in the next version. They are also downloadable from the CodePlex release page. Installation is very simple:

Installation Steps:

​1) Unzip “ASP.NET MVC Snippets.zip” into “C:\Users\<username>\Documents\Visual Studio 10\Code Snippets\Visual Web Developer\My HTML Snippets”, where “C:\” is your OS drive. \ 2) Visual Studio will automatically detect these new files.

Try them out and let us know if you have ideas for snippets that will help you be more productive.

Important Links:

Found a typo or error? Suggest an edit! If accepted, your contribution is listed automatically here.

Comments

avatar

35 responses

  1. Avatar for Kris van der Mast
    Kris van der Mast June 9th, 2009

    Great news! Looking forward to an RTW version of 2.0.
    Grz, Kris.

  2. Avatar for Maarten Balliauw
    Maarten Balliauw June 9th, 2009

    Will play with this tomorrow.

  3. Avatar for Jakub Kottnauer
    Jakub Kottnauer June 9th, 2009

    Great release, I have to try it ASAP, thanks.

  4. Avatar for Elijah manor
    Elijah manor June 9th, 2009

    Thanks for putting this out in such a timely manner. I hope to install it as soon as possible!

  5. Avatar for Derek
    Derek June 9th, 2009

    I have been hoping all day this would happen, frantically scouting the internet for any tidbits I could find. I'm so happy!

  6. Avatar for Chad Moran
    Chad Moran June 9th, 2009

    Thanks a lot Phil. Can't wait for v2 of MVC. Keep up the great work.

  7. Avatar for Fujiy, Felipe
    Fujiy, Felipe June 9th, 2009

    I waiting for ASP.NET MVC 2!! Maybe enterprises start to use MVC in large projects

  8. Avatar for Derek
    Derek June 9th, 2009

    Just to let you guys know, there's a pretty major goof in this installer.
    The ASP.NET.MVC 1.1 'library', for some reason, is showing the Model helper as 'object' instead of IEnumerable. For this reason, it's not possible to iterate using the page scaffolding method - you have to REALLY leap through hoops.

  9. Avatar for Agha Usman
    Agha Usman June 9th, 2009

    Yeah !!! Thanks a ton !! Let me try it

  10. Avatar for Mikael Henriksson
    Mikael Henriksson June 9th, 2009

    Hi Phil,
    Thanks a bunch, now I can get a head start once again :) One question though. Would it be possible for someone to host it some place else as well? I have a problem with codeplex where I can't download files.

  11. Avatar for Haacked
    Haacked June 9th, 2009

    @Derek, could you clarify? You should be able to select "List" as the scaffold type and just select your object. What are the repro steps?

  12. Avatar for Haacked
    Haacked June 9th, 2009

    @Mikael right now we don't have plans to host elsewhere. What problem do you have with downloading files from CodePlex?

  13. Avatar for dotnetpower
    dotnetpower June 9th, 2009

    2 thumbs up!!!

  14. Avatar for Matthew
    Matthew June 9th, 2009

    Tnankyou!!!!

  15. Avatar for Ryan
    Ryan June 9th, 2009

    Awesome! One question though. I have a class that inherits MvcControl and makes use of ViewContext.ViewData.Model inside it. This worked just fine before I started using the new assembly, but after referencing the new one ViewContext.ViewData.Model is always null. Changing back to the older 1.0.0.0 assembly fixes the problem. Did MvcControl change at all in this release?
    Other than that, great job guys!

  16. Avatar for Derek
    Derek June 9th, 2009

    @Haacked
    Yes, I am able to do this - but during runtime, no matter what I pass through, I get the same error that "Model" does not implement GetEnumerator.
    Copying the same code into Visual Studio 2008 runs just fine. I've yet to make an example work - even the default MVC project in Visual Studio 2010.
    At first I thought it was my own types, so I tried to follow the NerdDinner example and see how that fared. I got the same results. Somewhere in translation it seems something went wrong with the change to .dll 1.1.0.0. Please forgive me, I don't profess to be an expert on MVC enough to tell.
    I thought it was perhaps my own installation - so I went home after work and installed it all on a fresh machine running Windows Vista SP2 without Visual Studio 2008 even installed. The only install .NET is .NET 4 beta and Visual Studio 2010 beta 1, no SQL server installed - just remoting into another one. I encountered the same result.
    "object type Model does not implement GetEnumerator" in any attempt to use the Model helper in a View Page.

  17. Avatar for Derek
    Derek June 9th, 2009

    @Haacked
    Forgive me, I didn't answer your question properly.
    To reproduce this problem, create an ASP.NET MVC project in Visual Studio 2010.
    Create a simple database with at least one table. Create an identity column, and one other column. Populate the table with a few entries.
    Create a DataContext using Linq to SQL designer from the SQL database.
    Create a controller.
    Create a view that inherits ViewPage<T> where T is the object backed by the LINQ to SQL DataContext and the View is a scaffolded "List" type from the View designer 'wizard' dialog.
    In the Controller, query the entire table and pass it through the ActionResult into the view.
    Compile Project.
    ????
    Error.

  18. Avatar for Shiju Varghese
    Shiju Varghese June 9th, 2009

    Phill,
    Thanks a lot. The ASP.NET MVC 2.0 Roadmap looks great and hope that organizations will be largely adopt ASP.NET MVC with Visual Studio 2010.

  19. Avatar for Jack
    Jack June 9th, 2009

    I just noticed, that it will be ASP.NET MVC 2 in vs2010.

  20. Avatar for Haacked
    Haacked June 9th, 2009

    @Derek Did you create the project from scratch using VS10, or did you try and take an existing project created with VS08 and move it to VS10? If the latter, did you follow the instructions in the release notes?

  21. Avatar for Mike
    Mike June 9th, 2009

    I have a request for the roadmap: infrastructure for client side validation. A way to map data annotations to javascript that should be included dynamically in the page, but with the freedom to use any mapper.

  22. Avatar for Derek
    Derek June 9th, 2009

    @Haacked
    I created a new project and pasted my files into it.

  23. Avatar for Derek
    Derek June 9th, 2009

    @Haacked
    Great news! I've found the problem - though I still don't know how to fix it.
    I 'extend' most of my Linq to SQL models by using partial classes. I simply removed all of the extensions and the runtime worked. I've never had to implement anything special in the partial class files based on my LINQ to SQL models - so I think something is still different. Any ideas?
    I tried to mimic the structure of the original Linq to SQL markup (implementing INotifyPropertyChanging, INotifyPropertyChanged) but I still got the errors. Is there some specific interface I need to add into my partial class to make this work properly?

  24. Avatar for Gunnar
    Gunnar June 10th, 2009

    Thanks for good information. I installed MVC for VS2010 and everything works well.

  25. Avatar for Mitch Labrador
    Mitch Labrador June 11th, 2009

    Where can I find a little bit more info regarding the new Areas features in the next version of MVC?

  26. Avatar for Sheldon Zou
    Sheldon Zou June 11th, 2009

    I'll installed the ASP.NET MVC1.1.
    Is there any CTP version before ASP.NET MVC 2.0?
    Thanks.

  27. Avatar for gerry lowry
    gerry lowry June 12th, 2009

    Snippets can also be created in vs2008 and vs2005; I cheat. I create them in a .cs or .vb and then simply cut and paste.
    The code snippet feature of visual studio has no idea what your code snippet actually does. You could use code snippets to write haiku or limericks if you wished.
    Learn more about snippets here: http://forums.asp.net/t/1434788.aspx.
    I'm glad with vs2010, I can stop cheating.
    Regards,
    Gerry (Lowry)

  28. Avatar for Baldwin
    Baldwin June 14th, 2009

    Thanks for sharing those good information. :)

  29. Avatar for Vladimir Kelman
    Vladimir Kelman June 14th, 2009

    I had VS 2008 and ASP.NET MVC 1.0 working on my machine. Then I installed VS 2010 Beta 1 and ASP.NET MVC 1.1.
    Now, when I try to compile a simple application which includes the following in a View:

    <% using (Html.BeginForm(MyAction, MyController, FormMethod.Post)) { %>
    . . .
    <% } %>

    I'm getting the following error when trying to see a page:
    Compiler Error Message: CS0433: The type 'System.Web.Mvc.FormMethod' exists in both 'c:\WINDOWS\assembly\GAC_MSIL\System.Web.Mvc\1.0.0.0__31bf3856ad364e35\System.Web.Mvc.dll' and 'c:\WINDOWS\assembly\GAC_MSIL\System.Web.Mvc\1.1.0.0__31bf3856ad364e35\System.Web.Mvc.dll' using (Html.BeginForm(MyAction, MyController, FormMethod.Post))
    Obviously, a first DLL came with ASP.NET MVC 1.0, while a second came with ASP.NET MVC 1.1. Am I supposed to uninstall ASP.NET MVC 1.0? Will Visual Studio 2008 continue to work with MVC applications after uninstallation of MVC 1.0 and will it pick MVC 1.1?
    Thanks

  30. Avatar for Fixer
    Fixer June 15th, 2009

    Re Roadmap: I think a full end to end validation framework is critical for the enterprise. We need to have a validation framework thats can be defined once and can be re-used throughout the layers, UI, Controllers and Models.
    This will also touch on the productivity areas...NO repetition of validation code which is so common in development.

  31. Avatar for Vladimir Kelman
    Vladimir Kelman June 15th, 2009

    I resolved my issue.

  32. Avatar for hamza
    hamza June 16th, 2009

    Visual Studio 2010 is allowing me to add classic asp.net controls to views and it works! Is this supposed to be a new feature or a bug? If it is a bug then can it turned into a feature as it would be really cool to use best of both worlds :)

  33. Avatar for Balaji
    Balaji June 17th, 2009

    It was great news...
    :)

  34. Avatar for JackieKennedy
    JackieKennedy June 18th, 2009

    Can we user VS2010 to develop .NET 3.5SP1 MVC 1.0 websites to gain advantage of the IDE?

  35. Avatar for ASP.NET newbie
    ASP.NET newbie March 16th, 2010

    I can't seem to find the ASP.NET MVC installer for VS 2010 Beta 1. Where can I download it?
    Thanks.