我正在运行包含不同项目的解决方案。但是,我正在尝试使用Visual Studio 2015和框架4.6(在Windows 8操作系统,IIS Express上)运行包含wcf服务的项目(类库)。但是它会在浏览器中显示此错误:
错误:
我注意到Razor 2.0的调用程序集是“System.Web.Mvc”版本4.0.0.1:
调用程序集:System.Web.Mvc,Version = 4.0.0.1,Culture = neutral, 公钥= 31bf3856ad364e35。
但是,此项目中未引用System.Web.MVC dll,项目中的引用如下图所示:
虽然它没有被引用,但它总是出现在bin文件夹中,即使我清除它。也许这就是为什么它试图调用“ System.Web.WebPages.Razor ”版本2.0。
澄清问题的任何线索:
<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 ”文件,该文件使用“ MvcApplication ”类来实现“ System.Web.HttpApplication < / strong>“这可能是问题的一个很好的原因。
感谢任何帮助。
答案 0 :(得分:11)
解决方案:通过nuget manager安装Microsoft.AspNet.Webpages第一版2.0版。
答案 1 :(得分:1)
我首先看看程序集绑定失败 - 这将显示哪个程序集请求失败绑定。
您可以使用一个方便的小工具来查看绑定失败。这应该可以帮助您追踪它。
https://msdn.microsoft.com/en-us/library/e74a18c4(v=vs.71).aspx
祝你好运!答案 2 :(得分:0)
在我的情况下,错误是在部署之后,并且该问题是该服务器的子文件夹中的web.config中的引用。
我通过远程访问该计算机并在本地浏览该站点(或者您可以在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或System.Web.WebPages.Razor,以确保某处没有引用!
答案 3 :(得分:0)
我遇到此错误,但是引发错误的项目已正确安装了Microsoft.AspNet.Webpages。然后我意识到保存在单独项目中的WCF服务丢失了它的MVC安装。
因此在我的其他项目中安装Microsoft.AspNet.Mvc可以为我解决此错误。