1、備份你的項目
mvc過時了嗎,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、右鍵項目,重新加載項目