升级mvc版本时后,System.InvalidCastException: [A]System.Web.WebPages.Razor.Configuration.HostSection 无法强制转换

刚刚从mvc4.0升级到了5.2.2,编译运行,没报错,结果浏览网站首页,显示如下

[A]System.Web.WebPages.Razor.Configuration.HostSection 无法强制转换为 [B]System.Web.WebPages.Razor.Configuration.HostSection。类型 A 源自“System.Web.WebPages.Razor, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35”(在上下文“Default”中的“C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Web.WebPages.Razor\v4.0_2.0.0.0__31bf3856ad364e35\System.Web.WebPages.Razor.dll”位置处)。类型 B 源自“System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35”(在上下文“Default”中的“C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files\root\f1c8a199\60af19aa\assembly\dl3\55e1176d\2fcd4fd2_a3b1d101\System.Web.WebPages.Razor.dll”位置处)。

说明: 执行当前 Web 请求期间,出现未经处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 

异常详细信息: System.InvalidCastException: [A]System.Web.WebPages.Razor.Configuration.HostSection 无法强制转换为 [B]System.Web.WebPages.Razor.Configuration.HostSection。类型 A 源自“System.Web.WebPages.Razor, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35”(在上下文“Default”中的“C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Web.WebPages.Razor\v4.0_2.0.0.0__31bf3856ad364e35\System.Web.WebPages.Razor.dll”位置处)。类型 B 源自“System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35”(在上下文“Default”中的“C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files\root\f1c8a199\60af19aa\assembly\dl3\55e1176d\2fcd4fd2_a3b1d101\System.Web.WebPages.Razor.dll”位置处)。


2.原因分析:本地程序集和GAC的程序集冲突了。

3、解决办法:

修改web.config中

   改为 3.0.0.0" />   

修改~/Views/Web.config

 

   
     


     

   

 


 

   3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
     

3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" />
     
3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" />
   

 



修改为

5.2.2.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />


你可能感兴趣的:(问题解决方法)