我有一个包含 3 个项目的解决方案:
Solution.Web.Core - Common classes
Solution.Web.Mvc - MVC 4
Solution.Web.Api - Web Api 2 aka running ASP.NET 5.0 (beta-1) assemblies
我已将 WebApi 设置为 MVC 应用程序的子应用程序(在 IIS 中),但是,我无法实现该项目的完全隔离。
因为 Solution.Web.Core
有一些对 ASP.NET 4.0 程序集的引用,如果我在 Solution.Web.Api
中添加对此项目的引用,我会得到运行时出现以下异常:
Could not load file or assembly 'System.Net.Http.Formatting, Version=5.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)
如何防止 Solution.Web.Api
中发生此错误,以便我可以引用 Solution.Web.Core
,尽管它引用ASP.NET 的旧程序集版本?
注意:由于错误显示“System.Net.Http.Formatting
或其依赖项之一”,老实说,我什至不确定如何找出哪个是确切的违规程序集。
最佳答案
更改 View 部分的 Web.Config
<system.web.webPages.razor>
<host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, **Version=5.0.0.0**, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
<pages pageBaseType="System.Web.Mvc.WebViewPage">
<namespaces>
到
<system.web.webPages.razor>
<host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, **Version=5.2.3.0**, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
<pages pageBaseType="System.Web.Mvc.WebViewPage">
<namespaces>
关于asp.net - 防止运行时程序集绑定(bind)到旧程序集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17632551/