TL; DR:我是这种语言的新手,不知道我在做什么
到目前为止,这是我的班级:
using System;
using System.Collections.Generic;
using System.Net.Http;
using System.Web;
using System.Net;
using System.IO;
public class MyClass
{
private const string URL = "https://sub.domain.com/objects.json?api_key=123";
private const string data = @"{""object"":{""name"":""Title""}}";
public static void CreateObject()
{
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(URL);
request.Method = "POST";
request.ContentType = "application/json";
request.ContentLength = data.Length;
StreamWriter requestWriter = new StreamWriter(request.GetRequestStream(), System.Text.Encoding.ASCII);
requestWriter.Write(data);
requestWriter.Close();
try
{
// get the response
WebResponse webResponse = request.GetResponse();
Stream webStream = webResponse.GetResponseStream();
StreamReader responseReader = new StreamReader(webStream);
string response = responseReader.ReadToEnd();
responseReader.Close();
}
catch (WebException we)
{
string webExceptionMessage = we.Message;
}
catch (Exception ex)
{
// no need to do anything special here....
}
}
static void Main(string[] args)
{
MyClass.CreateObject();
}
}
当我执行csc filename.cs时,出现以下错误:
名称空间'System.Net'中不存在类型或命名空间名称'Http'(您是否缺少程序集引用?)
答案 0 :(得分:95)
HttpClient
位于System.Net.Http
命名空间中。
您需要添加:
using System.Net.Http;
确保在.NET 4.5中引用System.Net.Http.dll
。
发布的代码似乎与webClient
无关。使用HttpWebRequest
实际编译的代码是否有问题?
<强>更新强>
要打开添加引用对话框,请在解决方案资源管理器中右键单击您的项目,然后选择添加引用... 。它应该看起来像:
答案 1 :(得分:73)
NuGet&gt; Microsoft ASP.NET Web API客户端库
答案 2 :(得分:12)
我是如何解决它的。
在我的情况下,我在开始.Net 4.0和“Assemblies” - &gt;版本2.0.0.0的“扩展”选项“System.Net.Http”。在我的行动“装配”之后 - &gt; “Framework”选项“System.Net.Http”和“System.Net.Http”具有相同的4.0.0.0版本。
答案 3 :(得分:9)
Visual Studio包管理器控制台&gt;安装包Microsoft.AspNet.WebApi.Client
答案 4 :(得分:5)
假设您使用Visual Studio 10,可以在此处下载适用于Visual Studio 10的System.Net.Http安装:download MVC4 for VS10
安装完成后,右键单击VS Project中的 References 文件夹,然后选择添加参考。 然后,选择浏览选项卡。导航到MVC4安装的程序集安装路径(通常在Program Files(x86)/ Microsoft ASP.NET / ASPP.NET MVC4 / assemblies中),然后选择名为'System.Net.Http的程序集。 DLL”。 现在,您可以在代码顶部添加“using System.Net.Http”并开始创建HttpClient连接。
答案 5 :(得分:3)
您需要引用System.Web.Http
程序集,该程序集具有您尝试使用的HTTPClient
类。尝试在课程声明之前添加以下行
using System.Web.Http;
如果仍然出现错误,请尝试在Visual Studio
System.Web.Http.dll
)中双击包含命名空间的程序集。答案 6 :(得分:3)
答案 7 :(得分:3)
对我来说,它正在获得nuget包Microsoft.Net.Http (https://blogs.msdn.microsoft.com/bclteam/p/httpclient/)
答案 8 :(得分:2)
您需要在顶部using System.Net.Http
。
答案 9 :(得分:1)
使用Nuget软件包管理器安装Microsoft.AspNet.WebApi.Core。
之后:
/// Doing dot product with a layer of neurons and multiple inputs
///
/// Associated YT NNFS tutorial: [Part-3](*youtube link here*)
///
/// This uses the [ml_linalg][1] dependency. You can also use the [linalg][2] dependency
///
/// [1]: https://pub.dev/packages/ml_linalg
///
/// [2]: https://pub.dev/packages/linalg
或者如果您使用VB
using System.Web.Http;
答案 10 :(得分:1)
升级到.NET Framework 4.7.2后,我遇到了这个问题。我发现不再建议使用System.Net.Http的Nuget程序包。解决方法如下:
答案 11 :(得分:0)
要解决问题,
1.转到您的解决方案资源管理器。 2.右键单击项目名称,然后选择添加 3.选择引用并允许.Net framework 4.5完成加载 4.向下滚动并选择System.Net.Http,然后单击“确定”。 问题解决了。
答案 12 :(得分:0)
HttpClient是.net 4.5中的新功能。你可能应该使用HttpWebRequest。
答案 13 :(得分:0)
use system.Net,
system.Net.WebRequest
我有类似的问题或同样的问题并且最近修复了它。 但是我之前添加了system.net.http但是没有解决它。
答案 14 :(得分:0)
即使将使用System.Net.Http添加到android中的引用后,我仍然会收到错误消息,并且我已经安装了Nugget软件包microsoft.net.http。
事实证明,我没有将System.Net.Http添加到iOS项目中,当我这样做时,它解决了问题。
答案 15 :(得分:0)
将“ Copy Local”属性设置为True,以供参考。展开引用,右键单击System.Net.Http,然后在属性窗口中将“复制本地”属性的值更改为True。我正在使用VS2019。
答案 16 :(得分:0)
确保在您的web.config中引用了它:
答案 17 :(得分:-1)
在Visual Studio中,您可以使用nuget加载程序包
Microsoft.AspNet.WebApi.WebHost