What is the best way to migrate a MVC 2 project to

2020-06-09 04:45发布

问题:

What is the best way to migrate a MVC 2 project to MVC 3 using the Razor view engine?

回答1:

Details can be found in this post from ScottGu's blog (see the How to Upgrade Existing Projects section). I used the MVC 3 project upgrade tool and had only a few minor issues specific to my application after running it.



回答2:

There are also links to upgrade tools on David Hayden's blog: http://davidhayden.com/blog/dave/archive/2011/01/05/ASPNETMVC3TutorialsIndex.aspx



回答3:

Telerik wrote a program to convert usual aspx views to razor

Have a look here : https://github.com/telerik/razor-converter



回答4:

Do you need/want to move to Razor or just having MVC 3? You can still use your aspx pages with the WebFormViewEngine and MVC 3. This what I did on my side because we had quite a big app and more than just a few issues when migrating to MVC 3. So for a while we kept apsx pages and moved pages progressively to cshtml.



回答5:

There is no substitute for learning the Razor Syntax

Programming Razor

I think that some developers over-think razor and make it harder than it is. If you know HTML, JavaScript and C#, just learn some of the basic syntax like a code block

@model MyApp.Models.MyEntity

@{
    // this is a code block
    ViewBag.MyData = "i need to use a semicolon here";
}

<div class="myclass">
//This is inline razor/C# code that uses a 
//lambda expression to access a model property:
@Html.TextBoxFor(m => m.MyProperty)
</div>

The razor engine knows where the C# ends and the HTML begins, you just need to learn a few basic rules.

Edit: The point I am trying to make is that tools are not the only way to convert from MVC 2 to MVC 3 or 4 Razor. Conversion tools are not perfect. Knowledge of the Razor syntax can also be very helpful.