Velvet Star Monitor

Standout celebrity highlights with iconic style.

general

System.Net.Http: missing from namespace? (using .net 4.5)

Writer Andrew Mclaughlin

TL; DR: I'm new to this language and have no idea what I'm doing

here is my class so far:

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 = ""; 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(); }
}

when I do csc filename.cs, I get the following error:

The type or namespace name 'Http' does not exist in the namespace 'System.Net' (are you missing an assembly reference?)

1

15 Answers

HttpClient lives in the System.Net.Http namespace.

You'll need to add:

using System.Net.Http;

And make sure you are referencing System.Net.Http.dll in .NET 4.5.


The code posted doesn't appear to do anything with webClient. Is there something wrong with the code that is actually compiling using HttpWebRequest?


Update

To open the Add Reference dialog right-click on your project in Solution Explorer and select Add Reference.... It should look something like:

enter image description here

9

NuGet > Microsoft.AspNet.WebApi.Client package

3

How I solved it.

  1. Open project (!) "Properties", choose "Application", select targeting framework ".Net Framework 4.5"
  2. Right click on your project -> Add reference
  3. Make sure that in "Assemblies" -> "Extensions" option "System.Net.Http" is unchecked
  4. Go to "Assemblies" -> "Framework" and select "System.Net.Http" and "System.Net.Http" options
  5. That`s all!

In my case i had at the beginning .Net 4.0 and "Assemblies" -> "Extensions" option "System.Net.Http" with version 2.0.0.0. After my actions "Assemblies" -> "Framework" options "System.Net.Http" and "System.Net.Http" had the same 4.0.0.0 version.

1

Visual Studio Package Manager Console > Install-Package Microsoft.AspNet.WebApi.Client

just go to add reference then add

system.net.http

enter image description here

Assuming that your using Visual Studio 10, you can download an install that includes System.Net.Http, for Visual Studio 10 here: download MVC4 for VS10

Once you've installed it, right click on the References folder in the VS Project and then select Add Reference. Then, select the Browse tab. Navigate to the assemblies install path for the MVC4 install (usually in Program Files(x86)/Microsoft MVC4/assemblies) and select the assembly named 'System.Net.Http.dll'. Now you can add your 'using System.Net.Http' at the top of your code and begin creating HttpClient connections.

I had this issue after upgrading to .NET Framework 4.7.2. I found out that Nuget package for System.Net.Http is no longer recommended. Here are workarounds:

1

You need to have a Reference to the System.Web.Http assembly which has the HTTPClient class, your trying to use. Try adding the below line before your class declaration

using System.Web.Http;

If you still get the Error, try doing this in Visual Studio

  1. Right click on the References folder on your project.
  2. Select Add Reference.
  3. Select the .NET tab (or select the Browse button if it is not a .NET Framework assembly).
  4. Double-click the assembly containing the namespace in the error message (System.Web.Http.dll).
  5. Press the OK button.
6

For me, it was getting the nuget package Microsoft.Net.Http .()

You'll need a using System.Net.Http at the top.

0

With the Nuget Package Manager install Microsoft.AspNet.WebApi.Core.

After this:

using System.Web.Http;

or if you use VB

imports System.Web.Http

HttpClient is new in .net 4.5. You should probably be using HttpWebRequest.

4

To solve the problem :

  1. Go to your solution explorer.
  2. Right click on the project name and choose add
  3. Select references and allow the .Net framework 4.5 to finish loading
  4. Scroll down and select System.Net.Http and click ok.

Problem solved.

Making the "Copy Local" property True for the reference did it for me. Expand References, right-click on System.Net.Http and change the value of Copy Local property to True in the properties window. I'm using VS2019.

In Visual Studio you can use nuget to load the package

Microsoft.AspNet.WebApi.WebHost
0

Your Answer

Sign up or log in

Sign up using Google Sign up using Facebook Sign up using Email and Password

Post as a guest

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy