Система.Сеть.Http: отсутствует в пространстве имен? (using.net 4.5)
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.CS я получаю следующую ошибку:
тип или имя пространства имен "Http" не существует в пространстве имен "System.Net - (у вас не хватает ссылки на сборку?)
14 ответов
HttpClient
живет в System.Net.Http
пространство имен.
нужно добавить:
using System.Net.Http;
и убедитесь, что вы ссылаетесь System.Net.Http.dll
в .NET 4.5.
опубликованный код, похоже, ничего не делает с webClient
. Что-то не так с кодом, который фактически компилируется с помощью HttpWebRequest
?
обновление
открыть Добавить Ссылку диалог щелкните правой кнопкой мыши на своем проекте в Обозреватель и выберите Добавить Ссылку.... Это должно выглядеть примерно так:
Как я решил это.
- открыть проект (!) "Свойства", выберите "приложение", выберите targeting framework ".Net Framework 4.5"
- щелкните правой кнопкой мыши на вашем проекте - > добавить ссылку
- убедитесь, что в" Assemblies "- > " Extensions "опция" System.Сеть.Http " не установлен
- перейдите в раздел "сборки" - > " рамки "и выберите "Система".Сеть.Http" и "система.Сеть.Http " options
- вот и все!
в моем случае у меня было начало .Net 4.0 и" сборки "- > " расширения "вариант" система.Сеть.Http " с версией 2.0.0.0. После моих действий "сборки" -> "рамочные" параметры "системы.Чистая.Системы HTTP" и ".Чистая.Протокол HTTP" была та же версия 4.0.0.0.
предполагая, что вы используете Visual Studio 10, вы можете загрузить установку, включающую систему.Сеть.Http, для Visual Studio 10 здесь:скачать MVC4 для VS10
после того, как вы установили его, щелкните правой кнопкой мыши на ссылки папка в проекте VS, а затем выберите Добавить Ссылку. Затем выберите обзор tab. Перейдите к сборки путь установки для установки MVC4 (обычно в программе Файлы (x86) / Microsoft ASP.NET/ASP.NET MVC4 / assemblies) и выберите сборку с именем 'System.Net.Http.dll". Теперь вы можете добавить свою "используя систему".Сеть.Http " в верхней части кода и начните создавать HttpClient-соединения.
вам нужно иметь ссылку на System.Web.Http
сборка, которая имеет HTTPClient
класс, вы пытаетесь использовать. Попробуйте добавить нижеприведенную строку перед объявлением класса
using System.Web.Http;
если вы все еще получаете ошибку, попробуйте сделать это в Visual Studio
- щелкните правой кнопкой мыши на папке References в вашем проекте.
- Выберите Добавить Ссылку.
- выберите вкладку .NET (или нажмите кнопку Обзор, если это не платформа .NET Framework собрание.)
- дважды щелкните сборку, содержащую пространство имен в сообщении об ошибке (
System.Web.Http.dll
). - Нажмите кнопку OK.
для меня это было получение пакета NuGet Microsoft.Сеть.Http .(https://blogs.msdn.microsoft.com/bclteam/p/httpclient/)
С помощью HttpClient новые .нетто 4.5. Вероятно, вы должны использовать HttpWebRequest.
чтобы решить проблему,
1.перейдите в Обозреватель решений. 2. Щелкните правой кнопкой мыши имя проекта и выберите Добавить 3. Выберите ссылки и разрешите .Net framework 4.5 завершить загрузку 4. Прокрутите вниз и выберите System.Сеть.Http и нажмите ok. Проблема решена.
use system.Net,
system.Net.WebRequest
У меня была аналогичная проблема или же isue и исправлена недавно. однако у меня также была система.сеть.http добавлен раньше, но это не решило его.
Я продолжал получать ошибку даже после добавления системы использования.Сеть.Http к ссылкам в android, и я уже установил пакет Nugget microsoft.сеть.http.
оказалось, что я вручную не добавил систему.Сеть.Http к проекту iOS, когда я это сделал, он решил проблему.