【问题标题】:What happened to HttpResponseMessage in .NET 4.5, is there an alternative?.NET 4.5 中的 HttpResponseMessage 发生了什么,有替代方案吗?
【发布时间】:2013-01-01 13:07:42
【问题描述】:

我的项目是为 .NET 4 构建的,它引用的 System.Net.Http 版本是第 2 版。我刚刚升级到 .NET 4.5,因为我想做一些 this routing stuff 并且它要求我引用第 4 版我所做的System.Net.Http 程序集。

但是,我的 web 服务都返回一个 HttpResponseMessage,它在程序集的版本 4 中不存在。

我应该如何进行?

【问题讨论】:

    标签: web-services asp.net-mvc-4 asp.net-4.5


    【解决方案1】:

    根据 MSDN,它仍在 System.Net.Http 程序集中。确保您引用了新的 System.Net 和 System.Net.Http 程序集。

    http://msdn.microsoft.com/en-us/library/system.net.http.httpresponsemessage.aspx

    我创建了一个新项目并添加了 System.Net 和 System.Net.Http 程序集,并且 HttpResponseMessage 显示正常。

    【讨论】:

    • 我明白了,添加 System.Net 版本 4 使它再次工作(即使它在 System.Net.Http 中)但是添加该库已经破坏了 MapHttpRoute 的其他内容。我会调查的,谢谢。
    • 重建它我得到这个“错误1类型'System.Net.Http.HttpResponseMessage'是在一个未引用的程序集中定义的。您必须添加对程序集'System.Net.Http的引用, Version=2.0.0.0...." 我以为它是固定的,但显然不是...
    • 我认为可能是因为我将解决方案从 .net 4 转换为 .net 4.5 导致它变得混乱,关于如何解决这个问题的任何想法?
    • 我已经通过删除一个过时的参考来修复它。现在的问题是 HttpResponseMessage 不同,它不支持<T> 所以我仍然坚持转换代码。
    • 在您的 web.config 文件的程序集部分下是否有任何对“System.Net.Http, Version=2.0.0.0...”的引用?如果是这样,请将其删除。
    猜你喜欢
    • 2021-05-30
    • 1970-01-01
    • 2013-10-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-17
    相关资源
    最近更新 更多