1

在部署到 Windows 2003 服务器后,我很难让我的应用程序正常工作。经过一番调查,我似乎对构建/发布或配置应用程序的方式有疑问。这就是发生的事情:

  • 在我的开发人员机器上,我有一个 MVC4 项目(针对 .NET 4 和 ASP .NET 4)。一切运行顺利。我有许多项目引用的 NuGet 包。其中之一是

包\Microsoft.Net.Http.2.2.15\lib\net40\System.Net.Http.dll

  • 在将应用程序部署到 Windows 2003 服务器并(我希望)正确配置 IIS 等后,我得到以下异常:

无法加载文件或程序集 'System.Net.Http, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' 或其依赖项之一。找到的程序集的清单定义与程序集引用不匹配。(来自 HRESULT 的异常:0x80131040)

而且我不知道发生了什么。我检查了服务器上的 bin 文件夹,我可以看到System.Net.Http.dll dll 版本为2.2.15。那么为什么应用程序试图加载版本为2.0.0的System.Net.Http.dll

4

1 回答 1

0

我相信 System.Net.Http.dll 它基于 Windows 2003 和 2003 R2 不支持的 .Net 4.5(听起来很疯狂)

https://visualstudio.uservoice.com/forums/121579-visual-studio/suggestions/2723735-make-net-4-5-work-on-any-os-that-supports-4-0

如果可以,请检查您的依赖项并删除 System.Net.Http.dll,或者,因为 4.5 它是 4.0 的就地替代品,您可能需要从开发环境中删除 4.5

查看其他 SO 问题:Could not load file or assembly 'System.Net.Http, Version=2.0.0.0 in MVC4 Web API

于 2013-11-14T14:04:38.850 回答