title: upgrading from MVC4 to MVC5
body: <p>I have made that dreadful error of upgrading from MVC4 to MVC5 pre-release by updating the razor, and mvc webpage in my references I have <code>System.Web.Mvc</code>, <code>System.Web.Webpages</code>, <code>System.Web.Webpages.Razor</code> and <code>System.Web.Razor</code> as version v4.0.30319, when I run my application I get </p>
  
  <pre><code>[A]System.Web.WebPages.Razor.Configuration.HostSection cannot be cast to 
  [B]System.Web.WebPages.Razor.Configuration.HostSection.
  
  Type A originates from 
  'System.Web.WebPages.Razor, Version=2.0.0.0, Culture=neutral,
  PublicKeyToken=31bf3856ad364e35' in the context 'Default' at location
  'C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Web.WebPages.Razor\v4.0_2.0.0.0__31bf3856ad364e35\System.Web.WebPages.Razor.dll'.
  
  Type B originates from
  'System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, 
  PublicKeyToken=31bf3856ad364e35' in the context 'Default' at location 
  'C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files\membership\c70f06fe\9163b1ca\assembly\dl3\291c956e\73c25daa_cf74ce01\System.Web.WebPages.Razor.dll'.
  </code></pre>
  
  <p>is this the same as <a href="http://www.asp.net/whitepapers/mvc4-release-notes">http://www.asp.net/whitepapers/mvc4-release-notes</a></p>
  
  <p>Thanks</p>
  
  <p>Adding a stacktrace:</p>
  
  <pre><code>[InvalidCastException: [A]System.Web.WebPages.Razor.Configuration.HostSection cannot be      cast to [B]System.Web.WebPages.Razor.Configuration.HostSection. 
  Type A originates from 'System.Web.WebPages.Razor, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' in the context 'Default' at location 
   'C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Web.WebPages.Razor\v4.0_2.0.0.0__31bf3856ad364e35\System.Web.WebPages.Razor.dll'. Type B originates from 'System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' in the context 'Default' at location
  
  'C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files\c70f06fe\9163b1ca\assembly\dl3\291c956e\73c25daa_cf74ce01\System.Web.WebPages.Razor.dll'.]
  System.Web.WebPages.Razor.WebRazorHostFactory.CreateHostFromConfig(String virtualPath, String physicalPath) +193
  System.Web.WebPages.Razor.RazorBuildProvider.GetHostFromConfig() +51
  System.Web.WebPages.Razor.RazorBuildProvider.CreateHost() +24
  System.Web.WebPages.Razor.RazorBuildProvider.get_Host() +34
  System.Web.WebPages.Razor.RazorBuildProvider.EnsureGeneratedCode() +85
  System.Web.WebPages.Razor.RazorBuildProvider.get_CodeCompilerType() +34
  System.Web.Compilation.BuildProvider.GetCompilerTypeFromBuildProvider(BuildProvider buildProvider) +189
  System.Web.Compilation.BuildProvidersCompiler.ProcessBuildProviders() +265
  System.Web.Compilation.BuildProvidersCompiler.PerformBuild() +21
  System.Web.Compilation.BuildManager.CompileWebFile(VirtualPath virtualPath) +580
  System.Web.Compilation.BuildManager.GetVPathBuildResultInternal(VirtualPath virtualPath, Boolean noBuild, Boolean allowCrossApp, Boolean allowBuildInPrecompile, Boolean throwIfNotFound, Boolean ensureIsUpToDate) +571
  System.Web.Compilation.BuildManager.GetVPathBuildResultWithNoAssert(HttpContext context, VirtualPath virtualPath, Boolean noBuild, Boolean allowCrossApp, Boolean allowBuildInPrecompile, Boolean throwIfNotFound, Boolean ensureIsUpToDate) +203
  System.Web.Compilation.BuildManager.GetVirtualPathObjectFactory(VirtualPath virtualPath, HttpContext context, Boolean allowCrossApp, Boolean throwIfNotFound) +249
  System.Web.Compilation.BuildManager.GetCompiledType(VirtualPath virtualPath) +17
  System.Web.Mvc.BuildManagerCompiledView.Render(ViewContext viewContext, TextWriter writer) +90
  System.Web.Mvc.ViewResultBase.ExecuteResult(ControllerContext context) +380
  System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilterRecursive(IList`1 filters, Int32 filterIndex, ResultExecutingContext preContext, ControllerContext controllerContext, ActionResult actionResult) +109
  System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilterRecursive(IList`1 filters, Int32 filterIndex, ResultExecutingContext preContext, ControllerContext controllerContext, ActionResult actionResult) +890
  System.Web.Mvc.ControllerActionInvoker.InvokeActionResultWithFilters(ControllerContext controllerContext, IList`1 filters, ActionResult actionResult) +97
  System.Web.Mvc.Async.&lt;&gt;c__DisplayClass1e.&lt;BeginInvokeAction&gt;b__1b(IAsyncResult asyncResult) +241
  System.Web.Mvc.Controller.&lt;BeginExecuteCore&gt;b__1d(IAsyncResult asyncResult, ExecuteCoreState innerState) +29
  System.Web.Mvc.Async.WrappedAsyncVoid`1.CallEndDelegate(IAsyncResult asyncResult) +111
  System.Web.Mvc.Controller.EndExecuteCore(IAsyncResult asyncResult) +53
  System.Web.Mvc.Async.WrappedAsyncVoid`1.CallEndDelegate(IAsyncResult asyncResult) +19
  System.Web.Mvc.MvcHandler.&lt;BeginProcessRequest&gt;b__4(IAsyncResult asyncResult, ProcessRequestState innerState) +51
  System.Web.Mvc.Async.WrappedAsyncVoid`1.CallEndDelegate(IAsyncResult asyncResult) +111
  System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +606
  System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean&amp; completedSynchronously) +288
  </code></pre>