We have an ASP.Net MVC 1.0 solution developed using Visual Studio 2008 and .net Framework 3.5SP1.
We would now like to upgrade Visual Studio to 2010.
If we just open the solution in VS 2010 and do not change the framework version, can we just continue to develop as before?
If we open the solution in VS 2010 and change the framework version to 4.0, will we automatically start using ASP.Net MVC 2.0, or will it continue to use ASP.Net MVC 1.0?
Is there anything we need to take into consideration when upgrading to ASP.Net MVC 2.0?
Thanks
Shiraz
Yes.
I don't know if this is supported, but I wouldn't go there. It would make more sense to update to MVC 2 first, then .NET 4.
Yes, lots. Look at the release notes on CodePlex. Many things have changed, including model binding, TempData handling, and the return types of HTML helpers. These are breaking changes. There's a wizard which tries to help, but you're going to have to fix some of this manually.
It will continue using ASP.NET 1.0 unless you run the tool to upgrade to 2.0. If I am not mistaken, all the tool does is update your web.config to point all MVC references to 2.0 instead of 1.0
Related
I would like to add reference to my ASP.NET MVC4 project, but in Add reference dialog (Assemblies->Extensions), there are only version 1.0 and 2.0 of System.Web.WebPages.Razor.dll
I have installed Visual Studio Professional 2013 and ASP.NET MVC4 from Web Platform Installer. What I am missing.
The web application does not work without this reference and complains that it cannot find System.Web.WebPages.Razor.dll 3.0
Razor 3.0 is only compatible with MVC 5. In your question, you stated that you are using MVC 4, which is only compatible with Razor 2.0.
So, the real question is, why are you trying to add Razor 3.0 to MVC 4? Either stick with Razor 2.0, or upgrade your project to MVC 5.
If you have a project dependency that was designed for MVC 5 (and Razor 3.0), you might be getting this error. The same advice goes for the dependency - either change it to use Razor 2.0 and MVC 4 (assuming you can make changes to it), or upgrade the project that requires the dependency to MVC 5.
We have a very old legacy system which was developed using MVC1 through Visual Studio. Since then , Visual Studio also evolved and so has MVC.
Now we want to make our MVC1 project compliant with MVC5. Is there any, ready made tool available for this?
Various forums suggest to gradually move the project from MVC1 to MVC2, then from MVC2 to MVC3 and so on.
But I was not able to find any way of converting from MVC1 to MVC2. Although the information regarding the same is still available, but the tool to convert MVC1 to MVC2 is not found.
Can any one please throw some light on this?
You can use the old version of ASP.NET Project upgrade tool as the limitation is
The tool does not support Visual Studio 2008 solutions, MVC 1 projects, or projects targeting .NET 3.5. If you have a MVC 1.0 project you can use the old version of this tool to convert it to MVC 2.
You can also manually upgrade to MVC 3
The white paper steps for upgrading MVC1.0 to MVC2.0 are
Fiddle with web.csproj
Replace Version=1.0.0.0 in web.config by Version=2.0.0.0
Reference System.Web.Mvc (v2.0.0.0) in the project
chnange bindingRedirect in web.config
update css and js files
My question is can we develop an application in Visual Studio 2010 using MVC 5?
If yes, please also mention the tutorial or sample code url with your answer.
If no, then please specify the requirements of MVC 5 to build an application with it?
No it isn't possible. You need Visual Studio 2012 and I thought .NET 4.5 at least. See the upgrade notes for detail information http://www.asp.net/mvc/tutorials/mvc-5/how-to-upgrade-an-aspnet-mvc-4-and-web-api-project-to-aspnet-mvc-5-and-web-api-2
You need VS 2012 or above to have MVC5 support.
From the EF Blog
Compatibility
This version of the NuGet package is fully compatible with Visual
Studio 2010 and Visual Studio 2012 and can be used for applications
targeting .NET 4.0 and 4.5.
Some features are only available when writing an application that
targets .NET 4.5. This includes enum support, spatial data types,
table-valued functions and the performance improvements.
I was able to add EF5 to an MVC4 project through NuGet. You can certainly use MVC 4, you just won't get all the new features unless you're on VS2012.
Difference MVC3 VS MVC4
A lot of release notes for Visual Studio 2012 talk about .NET 4.5 and MVC4, but I can't tell if MVC4 is actually part of the .NET 4.5 release. Anybody know for sure? I would love not to have to install MVC separately on my server.
No, ASP.NET MVC 4 is baked into VS2012, exactly the same way ASP.NET MVC 3 was baked into VS2010 but not part of .NET 4.0 (there was a separate download that you could install on your servers). But there will also be a separate download of ASP.NET MVC 4 for VS2010 SP1 in which you obviously won't be able to use the .NET 4.5 specific features, such as async/await, but you will still be able to develop an ASP.NET MVC 4 application and target .NET 4.0.
ASP.NET MVC has made a point of NOT being tied to a particular .NET incarnation. That way, you can use the latest and greatest irrespective of what .NET version your hosting provider uses.
If the provider supports ASP.NET, that's all you need to know.
For this precise purpose, ASP.NET MVC is bin-deployable, meaning you can deploy the MVC dlls yourself, along your application - without requiring special rights from the hosting provider.
Phil Haack has a great article describing how to bin-deploy MVC3. There's even tooling support in VS for this scenario!
I assume the workflow for newer MVC incarnations is similar.
can any one precisely explain the difference between ASP.NET MVC1 vs MVC2.. and if i'm having a project in MVC1, how can i migrate it to MVC2 ?
MVC 2 is a later version of the same library.
To upgrade to it, read this page.
There is a conversion utility, see here: http://weblogs.asp.net/leftslipper/archive/2010/03/10/migrating-asp-net-mvc-1-0-applications-to-asp-net-mvc-2-rtm.aspx