查了很久才找到解決方案,2個多小時,就乾這個!再次記錄,備忘!ASP.NET MVC中出現的問題,問題出現的原因有2個:我在新建的項目中引用了主程式高版本dll,版本不一致MVC4->MVC5之間的版本升級過程中出現的一系列問題1.System.Web.WebPages.Razor.Configur...
查了很久才找到解決方案,2個多小時,就乾這個!再次記錄,備忘!
ASP.NET MVC中出現的問題,問題出現的原因有2個:
-
我在新建的項目中引用了主程式高版本dll,版本不一致
-
MVC4->MVC5之間的版本升級過程中出現的一系列問題
1.System.Web.WebPages.Razor.Configuration.HostSection版本問題
[A]System.Web.WebPages.Razor.Configuration.HostSection 無法強制轉換為 [B]System.Web.WebPages.Razor.Configuration.HostSection。類型 A 源自“System.Web.WebPages.Razor, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35”(在上下文“Default”中的“C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Web.WebPages.Razor\v4.0_1.0.0.0__31bf3856ad364e35\System.Web.WebPages.Razor.dll”位置處)。類型 B 源自“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”位置處)。
解決: 配置view中的Web.config <section name="host" type="System.Web.WebPages.Razor.Configuration.HostSection, System.Web.WebPages.Razor, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" />
2.System.Web.WebPages.Razor.Configuration.RazorPagesSection版本問題
[A]System.Web.WebPages.Razor.Configuration.RazorPagesSection 無法強制轉換為 [B]System.Web.WebPages.Razor.Configuration.RazorPagesSection。類型 A 源自“System.Web.WebPages.Razor, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35”(在上下文“Default”中的“C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Web.WebPages.Razor\v4.0_1.0.0.0__31bf3856ad364e35\System.Web.WebPages.Razor.dll”位置處)。類型 B 源自“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”位置處)。
解決:配置view中的Web.config <section name="pages" type="System.Web.WebPages.Razor.Configuration.RazorPagesSection, System.Web.WebPages.Razor, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" />
3.System.Web.Mvc.MvcWebRazorHostFactory版本問題
類型為“System.Web.Mvc.MvcWebRazorHostFactory”的表達式不能用於返回類型“System.Web.WebPages.Razor.WebRazorHostFactory”
解決:配置項目下的Web.config<runtime> <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> <!--<dependentAssembly> <assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" /> <bindingRedirect oldVersion="1.0.0.0-2.0.0.0" newVersion="3.0.0.0" /> </dependentAssembly>--> <dependentAssembly> <assemblyIdentity name="System.Web.Helpers" publicKeyToken="31bf3856ad364e35" /> <bindingRedirect oldVersion="1.0.0.0-2.0.0.0" newVersion="2.0.0.0" /> </dependentAssembly> <dependentAssembly> <assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" /> <bindingRedirect oldVersion="1.0.0.0-4.0.0.0" newVersion="4.0.0.0" /> </dependentAssembly> <dependentAssembly> <assemblyIdentity name="System.Web.WebPages" publicKeyToken="31bf3856ad364e35" /> <bindingRedirect oldVersion="1.0.0.0-2.0.0.0" newVersion="2.0.0.0" /> </dependentAssembly> </assemblyBinding> </runtime>
相關資源獲取或其他疑問可在公眾號留言。如果你有優秀的原創技術類文章也可以投稿分享給大家賺取賞金喲!
微信掃一掃獲取更多開發資源: