从 .NET 4.5 MVC 4 升级到 .NET 4.5.2 MVC 5.2
Posted
技术标签:
【中文标题】从 .NET 4.5 MVC 4 升级到 .NET 4.5.2 MVC 5.2【英文标题】:Upgrade from .NET 4.5 MVC 4 to .NET 4.5.2 MVC 5.2 【发布时间】:2014-07-06 22:06:33 【问题描述】:几乎相同的scenario as before,但这次我需要将应用程序从 .NET 4.5 (MVC 4) 升级到 4.5.2 (MVC 5.2)。我已经通过在 Win 8 机器上解决了前面的问题。它在Win 7上不起作用。 现在,执行相同的程序(在 Win 8 机器上)我又遇到了问题。
我已经followed the steps:
-
已将所有项目升级到 Framework 4.5.2。
检查了 Microsoft.AspNet.WebHelpers 以将其卸载,但它不存在。
是否执行了Manage NuGet Packages for Solution...步骤,并将Microsoft.ASPNET MVC升级到5.2和Microsoft.ASPNET Web API到 2.2。
编辑了所有 Web.Config 文件。
我已经尝试了最终步骤(卸载项目...),但 GUID 已经消失。
项目构建良好,但运行时出现服务器错误页面:
Attempt by security transparent method
'WebMatrix.WebData.PreApplicationStartCode.Start()' to access security
critical method 'System.Web.WebPages.Razor.WebPageRazorHost.AddGlobalImport(System.String)' failed.
我已经尝试了在网上找到的所有解决方案,但没有成功。
由于目标版本 4.5.2/5.2,我还有什么需要做的吗?
更新 1
删除了 WebMatrix.Data 和 WebMatric.WebData。现在我收到 403.14 错误。请求命中 Global.asax Application_PreRequestHandlerExecute 方法,但没有进入 Application_Start。
【问题讨论】:
您真的在使用 WebMatrix 吗?我之前已经将 WebMatrix 包添加到我的项目中,但没有意识到或打算将它们添加到那里。 是的,我有 WeMatrix.Data 和 WebMatrix.WebData,但我不使用 WebMatrix。我已经删除了它们。现在,我收到 HTTP 错误 403.14 - 禁止错误。该请求根本没有命中 Global.asax。 你见过这个吗:***.com/questions/11425574/… 是的。我试图在 web.config 中包含模块设置行。没有运气。我使用 VS 2013 内置服务器运行应用程序,但我不确定如何在其上重置 ASP.NET 或检查应用程序池。 【参考方案1】:我已经解决了。我在项目中使用了 Fluent Validation,并没有将 FluentValidation.MVC4 更新为 MVC5。
【讨论】:
以上是关于从 .NET 4.5 MVC 4 升级到 .NET 4.5.2 MVC 5.2的主要内容,如果未能解决你的问题,请参考以下文章
如何将.net framework 4.5升级到.net框架4.6?
升级到 .NET 4.5 和 EF5。不再能够部署 WCF 服务。