Asp.net mvc 4 Project upgraded to asp.net mvc5, mvcmvc5
I. Start
1. Open or create an asp.net mvc 4 Project
2. Modify the global. asax File
Original:
WebApiConfig.Register(GlobalConfiguration.Configuration);
New:
GlobalConfiguration.Configure(WebApiConfig.Register);
3. Delete the following ASP. NET NuGet packages and remove them using the Package Manager Console (PMC ).
Uninstall-Package -Id Microsoft.AspNet.WebPages.AdministrationUninstall-Package -Id Microsoft-Web-HelpersUninstall-Package -Id Microsoft.AspNet.Mvc.FixedDisplayModes
4. Update ASP. NET NuGet packages
Update-Package
2. Update Application web. config
<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
Modify <etettings>
<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>
Modify securityPolicy
<securityPolicy> <!--<trustLevel name="Medium" policyFile="web_mediumtrust.config"/>--></securityPolicy>
3. Update
Web. config
<system.web.webPages.razor>
<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>
<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>
Install Microsoft-Web-Helpers
Install-Package -Id Microsoft.AspNet.WebHelpers
If it is useful to User. IsInRole (), add the following code:
<system.webServer> <modules> <remove name="RoleManager" /> </modules> </system.webServer>
Iv. Final
Modify ProjectName. csproj
FindProjectTypeGuids
Element and remove: MVC 4 project GUID,{E3E379DF-F4C6-4180-9B81-6769533ABE47}
Reload the project, compile, and succeed.