HttpUtility n'existe pas dans le contexte actuel


99

J'obtiens cette erreur lors de la compilation d'une application C #. Cela ressemble à une erreur triviale, mais je ne peux pas la contourner.

Ma configuration est Windows 7 64 bits. Visual-Studio 2010 C # express B2Rel.

J'ai ajouté une référence à System.Web.dll situé à C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.0, mais il a un symbole d'exclamation jaune et j'obtiens toujours l'erreur ci-dessus. J'ai aussi la using System.Webdéclaration.

Qu'est-ce que je fais mal?


Mise à jour: Après avoir obtenu la réponse rapide qui m'indique la cause première, j'ai cherché un peu dans Google où il indique que System.Web.dll est pour le cadre complet. Je n'ai pas trouvé une telle référence.
Pour les débutants comme moi, ce blog résume bien la différence entre les frameworks (client et complet). Je n'ai pas pu trouver un endroit indiquant si une certaine DLL est prise en charge dans le cadre client ou non. Je suppose que le point d'exclamation dans Visual Studio devrait être le premier signal ...


2
Visez-vous le profil du client?
SLaks

Réponses:


87

Vous ciblez probablement le profil client, dans lequel System.Web.dlln'est pas disponible.

Vous pouvez cibler le cadre complet dans les propriétés du projet .


13
Bingo! où est-ce spécifié? Où étais-je censé lire ceci? Merci.
Shaihi

J'ai défini le cadre complet dans les propriétés du projet, mais le problème existe.
Alex Jolig le

@AlexJolig: Assurez-vous d'avoir la référence et l'espace de noms.
SLaks le

@ blackholeearth0_gmail: Quel est le problème? Que visez-vous?
SLaks

J'ai converti le projet de .net2 en .net4. le simple changement de Target Framework n'a pas résolu le problème. j'avais besoin d'ajouter la DLL aussi. cela est mieux expliqué dans la réponse de lxk613 et montre ce que je dois faire pour résoudre le problème.
bh_earth0

189

Vous devez ajouter la System.Webréférence;

  1. Cliquez avec le bouton droit sur la «référence» dans l'Explorateur de solutions
  2. Choisissez "Ajouter une référence"
  3. Vérifiez que l'onglet ".NET" est sélectionné.
  4. Recherchez et ajoutez "System.Web".

Application console VS2012 utilisant le ciblage .NET Framework 4.5. Cela a résolu.
Kyle

Même avec la cible, seule l'ajout de références a fonctionné pour moi. Merci lxk613
João Bruno Abou Hatem de Liz

Bingo! Voilà la réponse.
Alper

Mon arbre de l'explorateur de solutions ne contient pas de «référence»
Paul Gorbas

si vous utilisez les fonctions Azure, ajoutez #r "System.Web" en haut de votre fichier
Irshad Mohamed

17

SLaks a la bonne réponse ... mais permettez-moi d'être un peu plus précis pour les personnes, comme moi, qui sont ennuyées par cela et ne peuvent pas la trouver tout de suite:

Projet -> Propriétés -> Application -> Framework cible -> sélectionnez ".Net Framework 4"

le projet sera alors enregistré et rechargé.


6
J'ai eu l'erreur même AVEC le framework complet ciblé! L'ajout de System.Web.dll comme référence a cependant fonctionné.
SteveCav

Et assurez-vous évidemment d'ajouter System.Webou System.Web.Mvcau fichier en question aussi.
TankorSmash

15

Afin de résoudre ce problème, veuillez accéder au chemin ci-dessous

Projet -> Propriétés -> Application -> TargetFramework

et changez le Framework en «.NET Framework 4».

Une fois que vous faites cela, le projet se fermera et se rouvrira.

Cela devrait résoudre l'erreur

(mais pour une raison quelconque, la réponse de @Karan Modi ne le fait pas ...)

Cliquez ensuite avec le bouton droit sur l'onglet références dans l'explorateur de solutions et choisissez ajouter une référence,

choisissez "System.Web"

(déclarer l'espace de noms directement en "utilisant System.Web;" ne semble pas être suffisant ... vous devez l'ajouter à l'explorateur de solutions ... je ne comprends pas pourquoi - ce qui n'est pas surprenant car je suis un programmeur cobol ..


12

Après avoir suivi les réponses ci-dessus, et fait

Projet -> Propriétés -> Application -> Framework cible -> sélectionnez ".Net Framework 4"

Cela n'a toujours pas fonctionné jusqu'à ce que je sois allé à
Project -> Add Reference
Et sélectionné System.web. Et tout a fonctionné lier un charme.


La même solution a déjà été fournie par quelqu'un, il y a 2 ans. Veuillez vérifier les solutions avant de publier les vôtres. La question est trop ancienne et l'affiche originale est moins susceptible de remarquer votre réponse.
Techie

On dirait la réponse de @ lxk613
Shaihi

8

Afin de résoudre ce problème, veuillez accéder au chemin ci-dessous

Projet -> Propriétés -> Application -> TargetFramework

et changez le Framework en «.NET Framework 4».

Une fois que vous faites cela, le projet se fermera et se rouvrira.

Cela devrait résoudre l'erreur.


sur Mac, Target Framework max (grâce à mono) est .NET 2. Comment puis-je résoudre là-bas?
Chris M

4

Agrega System.web a las referencias del proyecto.

[Éditer]

Selon Google Translate, cela se traduit par:

Ajoutez System.Web aux références de projet.


1

J'ai eu le même problème que ce que j'ai fait, j'ai copié web.dll à partir du framework Microsoft.NET, puis collez à la racine du projet, puis ajoutez la référence dll à l'application, cela a fonctionné



0

Cela a fonctionné en suivant le processus:

Ajouter une référence:

system.net
system.web

incluez également l'espace de noms

using system.net
using system.web
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.