错误:"无法加载文件或程序集System.Web.WebPages.Razor"

时间:2017-08-03 17:45:35

标签: c# wcf 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:&#39;内容类型text / html;响应消息的charset = utf-8与绑定的内容类型不匹配(text / xml; charset = utf-8)。如果使用自定义编码器,请确保正确实现IsContentTypeSupported方法。响应的前1024个字节是:&#39;

<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 个答案:

答案 0 :(得分:0)

问题是,我有一个单独的类库来容纳我的WCF服务。该库已丢失其Microsoft.AspNet.Mvc,Microsoft.AspNet.Razor和Microsoft.AspNet.WebPages的安装。一旦我重新安装这些nuget包,问题就解决了。当然,它们已经安装在MVC客户端中。最大的障碍是我无法弄清楚Razor如何在MVC前端的单独库/项目中参与我的WCF服务。该错误非常具有误导性。