【发布时间】:2016-07-19 02:59:28
【问题描述】:
我正在运行一个包含不同项目的解决方案。但是,我正在尝试使用 Visual Studio 2015 和框架 4.6(在 Windows 8 OS、IIS Express 上)运行一个包含 wcf 服务的项目(类库)。但是它一直在浏览器中显示此错误:
错误:
我注意到 Razor 2.0 的调用程序集是“System.Web.Mvc”版本 4.0.0.1:
调用程序集:System.Web.Mvc,版本=4.0.0.1,文化=中性, PublicKeyToken=31bf3856ad364e35。
但是,System.Web.MVC dll在这个项目中没有被引用,项目中的引用如下图所示:
虽然它没有被引用,但它总是出现在 bin 文件夹中,即使我清除它也是如此。这可能就是它试图调用“System.Web.WebPages.Razor”2.0 版的原因。
澄清问题的任何线索:
- 我在 Web.Config 中没有调用 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>
- 也不包含在包配置中:
<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" 这可能是问题的一个很好的原因。
感谢任何帮助。
【问题讨论】:
标签: asp.net-mvc wcf nuget .net-assembly razor-2