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