1. ホーム
  2. c#

[解決済み] System.Net.Http: 名前空間から抜けている?(.net 4.5使用時)

2022-03-10 10:40:23

質問

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 ?


更新情報

を開くには リファレンスの追加 ダイアログでプロジェクトを右クリックし ソリューションエクスプローラ を選択し リファレンスの追加... . のように表示されるはずです。