2016-03-30 86 views
4

我正在運行一個包含不同項目的解決方案。但是,我試圖運行一個項目(類庫),其中包含使用Visual Studio 2015和框架4.6(在Windows 8操作系統,IIS Express)的wcf服務。然而,不斷出現在瀏覽器這個錯誤:VS 2015:無法加載文件或程序集'System.Web.WebPages.Razor,版本= 2.0.0.0

錯誤:

enter imag*e description here

我注意到,剃刀2.0的調用程序集是 「System.Web.Mvc」 4.0.0.1版本:

Calling assembly : System.Web.Mvc, Version=4.0.0.1, Culture=neutral, PublicKeyToken=31bf3856ad364e35.

然而,System.Web.MVC dll是不是在這個項目中引用,在項目中引用如下圖所示:

enter image description here

儘管它沒有被引用,它總是出現在bin文件夾中,即使我清除它。可能這就是爲什麼它試圖調用「System.Web.WebPages.Razor」2.0版。

講清問題的任何線索:

  1. 我沒有任何相關裝配在調用System.web.mvc

<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>

Web.Config中
  1. 也不包含在包裝內年齡配置:

<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>

  • 不包括作爲參考
  • 我想知道怎麼回事?可能另一個項目影響它! 此外,我試圖用金塊更新軟件包(卸載和重新安裝),但仍處於相同的情況。

    問題的一個可能的原因:

    我還注意到有一個「Gobal.asax」文件在這個項目當中使用了實現「的System.Web「MvcApplication」類。 HttpApplication「這可能是問題的一個很好的原因。

    任何幫助表示讚賞。

    回答

    7

    解決方案:通過nuget manager安裝Microsoft.AspNet.Webpages 2.0版的第一個版本。

    +0

    這幫了我。 – user1652746

    +0

    這對我也有幫助。 – AS7K

    1

    我會先看看程序集綁定失敗 - 這會告訴你哪個程序集正在請求失敗的綁定。

    有一個方便的小工具可以用來查看綁定失敗。這應該有助於你追蹤它。

    https://msdn.microsoft.com/en-us/library/e74a18c4(v=vs.71).aspx

    祝你好運!

    +0

    PS位置在這裏:C:\ Program Files文件(x86)\ Microsoft SDK \ Windows {版本} \斌{.NET版本工具} – KnowHoper

    0

    在我的情況下,錯誤是在部署之後,並且該問題是該服務器的子文件夾中的web.config中的引用。

    我通過遠程處理成機器和本地瀏覽該網站troubleshot本(或者您可以啓用在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.0.0.0或系統.Web.WebPages.Razor確保沒有參考的地方!

    相關問題