System.Net.Http : 네임 스페이스에서 누락 되었습니까? (.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 filename.cs를 수행하면 다음 오류가 발생합니다.

형식 또는 네임 스페이스 이름 ‘Http’가 네임 스페이스 ‘System.Net’에 없습니다 (어셈블리 참조가 누락 되었습니까?).



답변

HttpClient에 살고 System.Net.Http네임 스페이스.

다음을 추가해야합니다.

using System.Net.Http;

System.Net.Http.dll.NET 4.5에서 참조하고 있는지 확인하십시오 .


게시 된 코드는 webClient. 실제로 사용하여 컴파일하는 코드에 문제가 HttpWebRequest있습니까?


최신 정보

참조 추가 대화 상자 를 열려면 솔루션 탐색기 에서 프로젝트를 마우스 오른쪽 단추로 클릭하고 참조 추가 …를 선택 합니다. 다음과 같이 보일 것입니다.

여기에 이미지 설명 입력


답변

NuGet> Microsoft.AspNet.WebApi.Client 패키지


답변

내가 어떻게 해결했는지.

  1. 프로젝트 (!) “속성”을 열고 “응용 프로그램”을 선택하고 대상 프레임 워크 “.Net Framework 4.5″를 선택합니다.
  2. 프로젝트를 마우스 오른쪽 버튼으로 클릭-> 참조 추가
  3. “Assemblies”-> “Extensions”옵션 “System.Net.Http”가 선택 해제되어 있는지 확인하십시오.
  4. “Assemblies”-> “Framework”로 이동하여 “System.Net.Http”및 “System.Net.Http”옵션을 선택합니다.
  5. 그게 다야!

제 경우에는 2.0.0.0 버전의 .Net 4.0 및 “Assemblies”-> “Extensions”옵션 “System.Net.Http”가 처음에있었습니다. 내 작업 “Assemblies”-> “Framework”옵션 “System.Net.Http”및 “System.Net.Http”는 4.0.0.0 버전이 동일합니다.


답변

Visual Studio 패키지 관리자 콘솔> 설치 패키지 Microsoft.AspNet.WebApi.Client


답변

Visual Studio 10을 사용한다고 가정하면 여기에서 Visual Studio 10 용 System.Net.Http가 포함 된 설치를 다운로드 할 수 있습니다. VS10 용 MVC4 다운로드

설치가 완료되면 VS 프로젝트에서 참조 폴더를 마우스 오른쪽 버튼으로 클릭 한 다음 참조 추가 를 선택 합니다. 그런 다음 찾아보기 탭을 선택 하십시오. 받는 이동 어셈블리 (일반적으로 프로그램 파일 (86) / 마이크로 소프트 ASP.NET/ASP.NET MVC4 / 어셈블리에서) 설치 MVC4에 대한 설치 경로 및 어셈블리 이름 ‘System.Net.Http.dll’를 선택합니다. 이제 코드 상단에 ‘using System.Net.Http’를 추가하고 HttpClient 연결 생성을 시작할 수 있습니다.


답변

참조를 추가하고 추가하십시오.

system.net.http

여기에 이미지 설명 입력


답변

사용하려는 클래스 System.Web.Http가있는 어셈블리에 대한 참조가 HTTPClient있어야합니다. 클래스 선언 앞에 아래 줄을 추가하십시오.

using System.Web.Http;

여전히 오류가 발생하면 다음에서 시도하십시오. Visual Studio

  1. 프로젝트의 References 폴더를 마우스 오른쪽 버튼으로 클릭하십시오.
  2. 참조 추가를 선택합니다.
  3. .NET 탭을 선택하거나 .NET Framework 어셈블리가 아닌 경우 찾아보기 단추를 선택합니다.
  4. 오류 메시지 ( System.Web.Http.dll) 에서 네임 스페이스가 포함 된 어셈블리를 두 번 클릭합니다 .
  5. OK 버튼을 누릅니다.