2017-08-03 65 views
1

突然之間,我無法理解這個問題突然冒出來。錯誤:「無法加載文件或程序集System.Web.WebPages.Razor」

我的MVC應用程序調用WCF服務。此時它遇到了這個例外。這是昨天工作。我想不出有什麼相關的變化,但它肯定是某種東西。我可以返回到此應用程序的以前工作版本,現在發生錯誤。

爲什麼WebPages.Razor會在嘗試調用WCF服務時參與其中?如果我查看我的參考文獻,則會引用System.Web.WebPages.Razor,並且該位置是有效的。它看起來像這個DLL由Microsoft.AspNet.WebPages nuget包管理...爲什麼它搞砸了?我已經安裝了2.0.20710版本的軟件包...在web.config中有很多地方引用了System.Web.WebPages.Razor 2.0.0.0版本。

我的應用程序今天崩潰,昨天工作。任何想法表示讚賞...

這裏是web.config中的一個條目的例子:

<sectionGroup name="system.web.webPages.razor" type="System.Web.WebPages.Razor.Configuration.RazorWebSectionGroup, System.Web.WebPages.Razor, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"> 
    <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" /> 
    <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" /> 
</sectionGroup> 

以下是在異常發生點完整的錯誤消息:

System.ServiceModel .ProtocolException:'內容類型文本/ html;響應消息的charset = utf-8與綁定的內容類型(text/xml; charset = utf-8)不匹配。如果使用自定義編碼器,請確保IsContentTypeSupported方法正確實施。第一1024個字節的響應是:'

<head> 

    <title>Could not load file or assembly 'System.Web.WebPages.Razor, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The system cannot find the file specified.</title> 

    <meta name="viewport" content="width=device-width" /> 

    <style> 

    body {font-family:"Verdana";font-weight:normal;font-size: .7em;color:black;} 

    p {font-family:"Verdana";font-weight:normal;color:black;margin-top: -5px} 

    b {font-family:"Verdana";font-weight:bold;color:black;margin-top: -5px} 

    H1 { font-family:"Verdana";font-weight:normal;font-size:18pt;color:red } 

    H2 { font-family:"Verdana";font-weight:normal;font-size:14pt;color:maroon } 

    pre {font-family:"Consolas","Lucida Console",Monospace;font-size:11pt;margin:0;padding:0.5em;line-height:14pt} 

    .marker {font-weight: bold; color: black;text-decoration: none;} 

    .version {color: gray;} 

    .error {margin-bottom: '.' 

**************************更新** ***************************************

我也注意到我當我嘗試在導致問題的WCF Web服務上更新服務引用時得到相同的錯誤。不知何故,WebPages.Razor試圖在更新操作期間加載,並失敗。

+1

您是否嘗試清潔和重建解決方案? – Gusman

+1

是的,清理,重建,重啓,重新啓動Visual Studio,更新各種軟件包,如Microsoft.AspNet.WebPages,其他,...許多調試技術正在進行中。謝謝。 – Evan

回答

0

問題是,我有一個單獨的類庫來容納我的WCF服務。這個庫已經失去了安裝Microsoft.AspNet.Mvc,Microsoft.AspNet.Razor和Microsoft.AspNet.WebPages。一旦我重新安裝了這些nuget軟件包,問題就解決了。當然,它們已經安裝在MVC客戶端中。最大的障礙是我無法弄清楚Razor如何在MVC前端的獨立庫/項目中參與我的WCF服務。這個錯誤非常令人誤解。

相關問題