我有一个奇怪的问题。
我使用 MVC 4 和新的 Web API 开发了一个应用程序,它在本地运行良好。我在服务器上安装了 MVC4 并部署了应用程序。现在我收到以下错误:
无法加载文件或程序集 'System.Net.Http, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' 或其依赖项之一。找到的程序集的清单定义与程序集引用不匹配。(来自 HRESULT 的异常:0x80131040)
说明:执行当前 Web 请求期间发生未处理的异常。请查看堆栈跟踪以获取有关错误及其来源的更多信息
有趣的是,我在本地包文件夹或 ASP.NET MVC 4\Assemblies 文件夹中的 System.Net.Http 版本是 1.0.0.0。我实际上从我的项目中删除了对 System.Net.Http 的引用,但我仍然收到相同的消息。我对它从哪里获取 2.0.0.0 引用以及为什么它可以在本地工作但不能在服务器上工作感到有点困惑。
查看 nuget 依赖项:
ASP.NET WEB API 核心库(测试版)依赖于 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 的程序集部分下进行清理,甚至找不到应用程序本身。