我有个奇怪的问题。
我用 MVC 4和新的 Web API 开发了一个应用程序,它在本地工作得很好。
我在服务器上安装了 MVC4并部署了应用程序:
无法加载文件或程序集“系统”。网。Http,Version = 2.0.0.0,Culture = 材质,PublicKeyToken = 31bf3856ad364e35’或其依赖项之一。找到的程序集的清单定义与程序集引用不匹配。(来自 HRESULT T: 0x80131040的异常)
描述: 在当前 Web 请求的执行过程中发生了一个未处理的异常。请查看堆栈跟踪,以获得有关错误的更多信息以及错误的起源位置
有趣的是,系统的版本。网。我本地的包文件夹或 ASP.NET MVC 4 Assembly 文件夹中的 Http 是1.0.0.0。 我实际上删除了对 System 的引用。网。从我的项目 Http,但我仍然得到相同的消息。我对它从哪里获得2.0.0.0引用以及为什么它能在本地工作而不能在服务器上工作感到有点困惑。
看看对 nuget 的依赖:
NET WEb API 核心库(Beta)依赖于 System.Net.Http.Formatting。
而 System.Net.Http.Formatting 依赖于 System.Net.Http。
我想这就是为什么会这样。但是我已经安装了这个软件包的2.0.20126.16343版本,只是里面的 dll 有1.0.0.0版本
我错过了什么吗?
更新:
这是另一个 ASP.NET 应用程序的子应用程序,但是另一个仍然基于 WebForms。所以,有些事情搞砸了。但是如果我在 web.config 的组装部分下面做了一个清理,那么就会发现这个应用程序本身已经不存在了。