命名空间'System.Net'中不存在类型或命名空间名称为'Http'的内容。

9

我正在开发一款基于 .NET Framework 3.5 的手机应用程序,该应用程序使用 API 服务调用来检查网站上的电子邮件地址。我正在使用以下代码来执行此操作:

using System.Net.Http;

HttpClient webClient = new HttpClient();
webClient.QueryString.Add("email", email);
Stream stream = webClient.OpenRead(brandEndPoint);

最初我使用WebClient而不是HttpClient,但是我遇到了这个错误 "The type or namespace name 'WebClient' could not be found" ,后来通过谷歌搜索并用HttpClient修复了这个问题。

在将WebClient替换为HttpClient之后,我遇到了这个错误 "The type or namespace name 'Http' does not exist in the namespace 'System.Net"。

需要帮助解决这个问题。

谢谢!


@Steve:为什么?HttpClient在System.Net.Http命名空间中:http://msdn.microsoft.com/en-gb/library/system.net.http.httpclient.aspx - Jon Skeet
不适用于.NET 3.5。该命名空间在3.5中根本不可用。 - Panagiotis Kanavos
@JonSkeet 确实太快了,在 LinqPAD 中使用 Intellisense 查找时,由于缺少引用而得出错误的结论。 - Steve
1个回答

8

HttpClient在.NET 4.5或4.0中可用,需要使用Microsoft.Net.Http NuGet包。它不适用于.NET 3.5。

HttpClient使用的功能(如TPL)仅在.NET 4+中可用。

您必须使用System.Net.WebClientWebRequest。如果出现任何编译错误,请确保已添加正确的using语句。这两个类自.NET 1.1起就可用于System.dll库,并因此始终可用。


请问在 .net 3.5 中 HttpClient 有什么替代品?我是新学 .net 的,请问您能告诉我如何解决这个问题吗? - user3100575
检查编辑内容。您已经使用了正确的类型,但忘记了使用正确的命名空间。请检查文档,其中包含一个简单而完整的示例。 - Panagiotis Kanavos

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接