【MVC4升级到MVC5】ASP.Net MVC 4项目升级MVC 5的方法
1、备份你的项目
2、从Web API升级到Web API 2,修改global.asax,将
1
|
WebApiConfig.Register(GlobalConfiguration.Configuration); |
修改为
1
|
GlobalConfiguration.Configure(WebApiConfig.Register); |
3、通过Nuget,更新下面的包
包名 |
旧版本 |
新版本 |
Microsoft.AspNet.Razor |
2.0.x.x |
3.0.0 |
Microsoft.AspNet.WebPages |
2.0.x.x |
3.0.0 |
Microsoft.AspNet.WebPages.WebData |
2.0.x.x |
3.0.0 |
Microsoft.AspNet.WebPages.OAuth |
2.0.x.x |
3.0.0 |
Microsoft.AspNet.Mvc |
4.0.x.x |
5.0.0 |
Microsoft.AspNet.Mvc.Facebook |
4.0.x.x |
5.0.0 |
Microsoft.AspNet.WebApi.Core |
4.0.x.x |
5.0.0 |
Microsoft.AspNet.WebApi.SelfHost |
4.0.x.x |
5.0.0 |
Microsoft.AspNet.WebApi.Client |
4.0.x.x |
5.0.0 |
Microsoft.AspNet.WebApi.OData |
4.0.x.x |
5.0.0 |
Microsoft.AspNet.WebApi |
4.0.x.x |
5.0.0 |
Microsoft.AspNet.WebApi.WebHost |
4.0.x.x |
5.0.0 |
Microsoft.AspNet.WebApi.Tracing |
4.0.x.x |
5.0.0 |
Microsoft.AspNet.WebApi.HelpPage |
4.0.x.x |
5.0.0 |
Microsoft.Net.Http |
2.0.x. |
2.2.x. |
Microsoft.Data.OData |
5.2.x |
5.6.x |
System.Spatial |
5.2.x |
5.6.x |
Microsoft.Data.Edm |
5.2.x |
5.6.x |
Microsoft.AspNet.Mvc.FixedDisplayModes |
|
Removed |
Microsoft.AspNet.WebPages.Administration |
|
Removed |
Microsoft-Web-Helpers |
|
Microsoft.AspNet.WebHelpers |
4、更新根目录的web.config
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
< runtime > < assemblyBinding xmlns = "urn:schemas-microsoft-com:asm.v1" > <!--Two elements removed for Clarity --> < dependentAssembly > < assemblyIdentity name = "System.Web.Helpers" publicKeyToken = "31bf3856ad364e35" /> < bindingRedirect oldVersion = "1.0.0.0-3.0.0.0" newVersion = "3.0.0.0" /> </ dependentAssembly > < dependentAssembly > < assemblyIdentity name = "System.Web.Mvc" publicKeyToken = "31bf3856ad364e35" /> < bindingRedirect oldVersion = "1.0.0.0-5.0.0.0" newVersion = "5.0.0.0" /> </ dependentAssembly > < dependentAssembly > < assemblyIdentity name = "System.Web.WebPages" publicKeyToken = "31bf3856ad364e35" /> < bindingRedirect oldVersion = "1.0.0.0-3.0.0.0" newVersion = "3.0.0.0" /> </ dependentAssembly > <!--WebGrease element removed for Clarity --> </assemblyBinding |
1
2
3
4
5
6
7
|
< appSettings > < add key = "webpages:Version" value = "3.0.0.0" /> < add key = "webpages:Enabled" value = "false" /> < add key = "PreserveLoginUrl" value = "true" /> < add key = "ClientValidationEnabled" value = "true" /> < add key = "UnobtrusiveJavaScriptEnabled" value = "true" /> </ appSettings > |
1
2
3
|
< securityPolicy > <!--<trustLevel name="Medium" policyFile="web_mediumtrust.config"/>--> </ securityPolicy > |
5、修改View文件夹下的web.config
1
2
3
4
5
6
7
8
9
|
< system.web.webPages.razor > < host factoryType = "System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=5.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" /> < pages pageBaseType = "System.Web.Mvc.WebViewPage" > < namespaces > < add namespace = "System.Web.Mvc" /> <!--Elements removed for Clarity.--> </ namespaces > </ pages > </ system.web.webPages.razor > |
1
2
3
4
5
6
7
8
9
10
11
|
--> < pages validateRequest = "false" pageParserFilterType = "System.Web.Mvc.ViewTypeParserFilter, System.Web.Mvc, Version=5.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" pageBaseType = "System.Web.Mvc.ViewPage, System.Web.Mvc, Version=5.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" userControlBaseType = "System.Web.Mvc.ViewUserControl, System.Web.Mvc, Version=5.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" > < controls > < add assembly = "System.Web.Mvc, Version=5.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" namespace = "System.Web.Mvc" tagPrefix = "mvc" /> </ controls > </ pages > </ system.web > |
1
2
3
4
5
6
7
|
< configuration > < configSections > < sectionGroup name = "system.web.webPages.razor" type = "System.Web.WebPages.Razor.Configuration.RazorWebSectionGroup, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" > < section name = "host" type = "System.Web.WebPages.Razor.Configuration.HostSection, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission = "false" /> < section name = "pages" type = "System.Web.WebPages.Razor.Configuration.RazorPagesSection, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission = "false" /> </ sectionGroup > </ configSections > |
6、右键解决方案,选择卸载项目
7、右键项目,编辑 [ProjectName].csproj
8、找到 ProjectTypeGuids 节,删除Guid
{E3E379DF-F4C6-4180-9B81-6769533ABE47},保存
9、右键项目,重新加载项目