![](/img/trans.png)
[英]Would an existing non mobile MVC3 project benefit from upgrading to MVC4?
[英]Errors when trying to upgrade an existing MVC3 project to MVC4
我是Asp.net和Visual Studio的新手。 我正在开发一个Web应用程序。 我最初使用MVC3做到了,但现在需要将其升级到mvc4。 我尝试了很多方法。 从更新当前项目中的文件,到创建新的mvc4 webapp,然后在其中复制我的模型/控制器/视图。 我知道互联网上的各种链接。
实际上,我尝试了asp.net白皮书以及http://www.asp.net/whitepapers/mvc4-release-notes#_Toc303253806上提到的过程
在此链接中也尝试过该解决方案: 将ASP.NET MVC 3项目转换为MVC 4
但这一直无济于事。 我不断得到的错误如下:
1.首先从以下错误开始:
[A]System.Web.WebPages.Razor.Configuration.HostSection cannot be cast to [B]System.Web.WebPages.Razor.Configuration.HostSection.
我最初从GAC文件夹中删除了剃须刀4_02并尝试过,但是失败了。 然后,在通过管理packages.config并在web.config中进行更改解决了此问题之后,它确实消失了。
2.但是,这样做之后,当我启动Web应用程序时,它显示了一个新错误,如下所示:
'System.Web.WebPages.Razor, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'
现在,根据我在网上阅读的内容,我使用Nuget卸载了Microsoft.AspNet.Mvc,然后安装了Razor-3.3.0软件包,但失败了。 之后,我安装了Razor-2.1.0软件包,它是其中一个在线响应中提到的解决方法。 之后,我再次安装了Microsoft.AspNet.Mvc。 成功了
3.同样,当我运行Web应用程序时,这次它弹出一个新错误。 这次错误如下:
Compilation Error at '/'
Could not load file or assembly 'System.Web.WebPages.Razor, Version=2.0.0.0
我通过删除其中一个在线答复中提到的未使用的引用来解决此问题。 我也从System.Web.Webpages.Razor更改为System.Web.Razor
4.解决了该问题后,它向我显示以下错误:
No Entity Framework provider found for the ADO.NET provider with invariant name 'System.Data.SqlServerCe.4.0'. Make sure the provider is registered in the 'entityFramework' section of the application config file.
尝试解决以下链接:
错误:未找到具有不变名称'System.Data.SqlClient'的ADO.NET提供程序的实体框架提供程序
未找到具有不变名称'System.Data.SqlServerCe.4.0'的ADO.NET提供程序的实体框架提供程序
5.我最初也遇到错误
error CS1705: Assembly 'System.Web.Mvc, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' uses 'System.Web.WebPages, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' which has a higher version than referenced assembly 'System.Web.WebPages, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'
我使用下面链接中给出的解决方案解决了它:
aspnet_compiler查找到System.Web.WebPages 1.0.0.0而不是2.0.0.0的错误版本
我曾尝试在web.config中更改提供程序,然后在Visual Studio建议这样做时也尝试获取SqlServereCe4.0依赖项。 一直没用。
除了所有错误,我也收到警告。
我一提供提供者,就会显示警告,指出
The element 'entityFramework' has invalid child element 'providers'. List of possible elements expected: 'contexts'
我得到的另一个警告:
The 'packages' element is not declared.
我尝试创建一个packages.xsd文件,然后对其进行映射,但是随后向我显示了关于packages.xsd的另一条警告,其中提到xmlns不能包含文本。
我已经尝试了几个小时,但是问题似乎并没有解决。 请帮忙。 我不知道发生了什么。 如何将其升级到MVC4?
在尝试了所有内容之后,我没有使用任何工具,然后使用了将mvc3项目升级到mvc4的自动更新工具。 它确实附带了很多您可能不需要的参考,但是嘿,它工作得很好,并且我能够运行我的应用程序。 如果您担心未使用的引用/库,则可以进行反向工程并逐一删除它们。 该工具的链接如下:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.