VS 2015:無法載入文件或程序集’System.Web.WebPages.Razor,版本 = 2.0.0.0
我正在執行一個包含不同項目的解決方案。但是,我正在嘗試使用 Visual Studio 2015 和框架 4.6(在 Windows 8 OS、IIS Express 上)執行一個包含 wcf 服務的項目(類庫)。但是它一直在瀏覽器中顯示此錯誤:
錯誤:
我注意到 Razor 2.0 的呼叫程序集是“System.Web.Mvc”版本 4.0.0.1:
呼叫程序集:System.Web.Mvc,Version=4.0.0.1,Culture=neutral,PublicKeyToken=31bf3856ad364e35。
但是,System.Web.MVC dll在這個項目中沒有被引用,項目中的引用如下圖所示:
雖然,它沒有被引用,但它總是出現在 bin 文件夾中,即使我清除它也是如此。這可能就是它試圖呼叫“ System.Web.WebPages.Razor ”2.0 版的原因。
澄清問題的任何線索:
- 我在呼叫 System.web.mvc 的 Web.Config 中沒有相關程序集
<runtime> <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> <dependentAssembly> <assemblyIdentity name="WebGrease" publicKeyToken="31bf3856ad364e35" culture="neutral" /> <bindingRedirect oldVersion="0.0.0.0-1.5.2.14234" newVersion="1.5.2.14234" /> </dependentAssembly> <dependentAssembly> <assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" /> <bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0" /> </dependentAssembly> </assemblyBinding> </runtime>
- 也不包含在包配置中:
<packages> <package id="EntityFramework" version="6.1.3" targetFramework="net46" /> <package id="Microsoft.AspNet.Providers" version="2.0.0" targetFramework="net451" /> <package id="Microsoft.AspNet.Providers.Core" version="2.0.0" targetFramework="net451" /> <package id="Microsoft.Web.Infrastructure" version="1.0.0.0" targetFramework="net46" /> <package id="PostSharp" version="4.3.5-alpha" targetFramework="net46" /> <package id="System.Web.Providers" version="1.2" targetFramework="net451" /> </packages>
- 不作為參考
我想知道發生了什麼事?可能另一個項目會影響它!我也嘗試使用 nugget 更新軟體包(解除安裝和重新安裝),但仍然處於相同的情況。
問題的可能原因:
我還注意到這個項目中有一個“ Gobal.asax ”文件,它使用實現“ System.Web.HttpApplication ”的“ MvcApplication ”類,這可能是問題的一個很好的原因。
任何幫助表示讚賞。
解決方案:通過 nuget manager 安裝 Microsoft.AspNet.Webpages 2.0 版第一個版本。
我將從查看程序集綁定失敗開始 - 這將向您顯示哪個程序集正在請求失敗的綁定。
有一個方便的小工具可以用來查看綁定失敗。這應該可以幫助您追踪它。
https://msdn.microsoft.com/en-us/library/e74a18c4(v=vs.71).aspx
祝你好運!

