TL; DR: Je suis nouveau dans cette langue et je n'ai aucune idée de ce que je fais
voici ma classe pour l'instant:
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();
}
}
quand je fais csc filename.cs, j'obtiens l'erreur suivante:
Le nom de type ou d'espace de noms 'Http' n'existe pas dans l'espace de noms 'System.Net' (vous manquez une référence d'assembly?)
webClient
champ). De plus, vous ne l'utilisez jamais pour quoi que ce soit. Vous pouvez probablement simplement le supprimer.Réponses:
HttpClient
vit dans l'System.Net.Http
espace de noms.Vous devrez ajouter:
Et assurez-vous que vous faites référence
System.Net.Http.dll
dans .NET 4.5.Le code affiché ne semble rien faire avec
webClient
. Y a-t-il quelque chose qui ne va pas avec le code qui compile réellementHttpWebRequest
?Mettre à jour
Pour ouvrir la Ajouter Référence clic droit sur votre projet de dialogue dans l' Explorateur de solutions et sélectionnez Ajouter une référence ... . Cela devrait ressembler à quelque chose comme:
la source
System.Net.Http.dll
?Add References
lorsque la boîte de dialogue apparaît, sélectionnez l'onglet le plus à gauche (je n'utilise pas la boîte de dialogue des références intégrées mais la mienne s'appelle Assemblies ). Faites défiler la liste jusqu'à ce que vous voyiez un élément appeléSystem.Net.Http
double-cliquez dessus et reconstruisez.NuGet> Package Microsoft.AspNet.WebApi.Client
la source
Comment je l'ai résolu.
Dans mon cas, j'avais au début .Net 4.0 et "Assemblies" -> "Extensions" option "System.Net.Http" avec la version 2.0.0.0. Après mes actions "Assemblies" -> "Framework" options "System.Net.Http" et "System.Net.Http" avaient la même version 4.0.0.0.
la source
Console du gestionnaire de packages Visual Studio> Package d'installation Microsoft.AspNet.WebApi.Client
la source
En supposant que vous utilisez Visual Studio 10, vous pouvez télécharger une installation qui inclut System.Net.Http, pour Visual Studio 10 ici: téléchargez MVC4 pour VS10
Une fois que vous l'avez installé, cliquez avec le bouton droit sur le dossier Références dans le projet VS, puis sélectionnez Ajouter une référence . Ensuite, sélectionnez l' onglet Parcourir . Accédez au chemin d'installation des assemblys pour l'installation de MVC4 (généralement dans Program Files (x86) / Microsoft ASP.NET/ASP.NET MVC4 / assemblies) et sélectionnez l'assembly nommé «System.Net.Http.dll». Vous pouvez maintenant ajouter votre 'using System.Net.Http' en haut de votre code et commencer à créer des connexions HttpClient.
la source
il suffit d'aller ajouter une référence puis d'ajouter
la source
Vous devez avoir une référence à l'
System.Web.Http
assembly qui a laHTTPClient
classe que vous essayez d'utiliser. Essayez d'ajouter la ligne ci-dessous avant votre déclaration de classeSi vous obtenez toujours l'erreur, essayez de le faire dans
Visual Studio
System.Web.Http.dll
).la source
HttpClient
appartient à l'System.Web.Http.dll
assembly .NET 4.5 (pasSystem.Net
).Properties
. Vous devriez voirReferences
sur le côté gauche.Pour moi, il obtenait le package nuget Microsoft.Net.Http. ( Https://blogs.msdn.microsoft.com/bclteam/p/httpclient/ )
la source
Vous aurez besoin d'un
using System.Net.Http
en haut.la source
HttpClient est nouveau dans .net 4.5. Vous devriez probablement utiliser HttpWebRequest .
la source
HttpWebRequest
, je ne sais pas pourquoi ils ne l'utilisent pas.Résoudre le problème :
Net framework 4.5
pour terminer le chargementSystem.Net.Http
et cliquez sur OK.Problème résolu.
la source
Faire de la propriété "Copy Local" True pour la référence l'a fait pour moi. Développez Références, cliquez avec le bouton droit sur System.Net.Http et modifiez la valeur de la propriété Copier local sur True dans la fenêtre des propriétés. J'utilise VS2019.
la source
Assurez-vous qu'il est référencé dans votre web.config:
la source
Avec le gestionnaire de packages Nuget, installez Microsoft.AspNet.WebApi.Core.
Après ça:
ou si vous utilisez VB
imports System.Web.Http
la source
J'ai eu ce problème après la mise à niveau vers .NET Framework 4.7.2. J'ai découvert que le package Nuget pour System.Net.Http n'est plus recommandé. Voici des solutions de contournement:
la source
Dans Visual Studio, vous pouvez utiliser nuget pour charger le package
la source