我有我们的合作伙伴使用的遗留代码,这是一个旧的Web服务。我需要通过向外部WebAPI添加调用来集成一些新功能。当我尝试在webservice的cs文件中创建HttpClient时,它会显示以下内容
类型或命名空间名称'HttpClient'不存在于 命名空间'System.Net.Http'(您是否缺少程序集引用?)
我在Webservice中创建HttpClient实例时遗漏了一些东西。我在我的cs文件中添加了对System.Net.Http的引用。
更新:这是我的解决方法。我创建了一个新的3.5项目,添加了来自我的旧项目的文件,将其转换为4.5并添加了对System.Net.Http的引用,现在一切都很好。
答案 0 :(得分:0)
System.Net.Http库仅在.NET 4.5中可用 - 您正在运行哪个版本?
或者,您可以使用所有版本中提供的HttpRequest。
答案 1 :(得分:0)
对我来说就像the HttpClient Class wass added in .Net 4.5。您的旧Web服务可能运行旧版本的.Net。您可能希望尝试升级服务,并在可能的情况下将其更改为.Net 4.5。
更新:好的,所以你有一个.Net 4.5项目。您是否确认已添加正确的参考文献?
请注意,包含对System.Net
的引用与向System.Net.Http
添加一个引用不同。后者在Visual Studio中添加引用时在“ 扩展 ”下找到(而不是在 Framework 下,其中前者被发现)。
更新2 :尝试删除对System.Net.Http
的现有引用,并添加以下NuGet包:
Install-Package Microsoft.Net.Http
(参考:http://www.nuget.org/packages/System.Net.Http和http://www.nuget.org/packages/Microsoft.Net.Http)
答案 2 :(得分:0)
确保在.NET 4.5中引用System.Net.Http.dll
。
尝试通过右键单击解决方案资源管理器中的项目手动添加引用,然后在对话框出现时单击“添加引用”,选择最左侧的选项卡滚动列表,直到看到名为System.Net.Http
的项目双击它并重建。
并确保您的项目定位.NET 4.5
。