错误:"Could not load file or assembly System.Web.WebPages.Razor"



突然间,这个问题突然出现了,我无法理解。

我的 MVC 应用程序调用 WCF 服务。此时,它会遇到此异常。这是昨天的工作。我想不出任何相关的变化,尽管它一定是某种东西。我可以返回到此应用程序的先前工作版本,现在发生错误。

为什么 WebPages.Razor 在尝试调用 WCF 服务时会参与其中?如果我查看我的参考文献,就会发现有一个对System.Web.WebPages.Razor的引用,并且该位置是有效的。看起来这个DLL是由Microsoft.AspNet.WebPagesnuget包管理的...为什么搞砸了?我安装了软件包的 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: '响应消息的内容类型 text/html; charset=utf-8 与绑定的内容类型不匹配(text/xml; charset=utf-8(。如果使用自定义编码器,请确保正确实现 IsContentTypeSupport 方法。响应的前 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 在更新操作期间尝试加载,但失败了。

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

相关内容

最新更新