HttpUtility non esiste nel contesto corrente


99

Ottengo questo errore durante la compilazione di un'applicazione C #. Sembra un errore banale, ma non riesco a aggirarlo.

La mia configurazione è Windows 7 64 bit. Visual-Studio 2010 C # express B2Rel.

Ho aggiunto un riferimento a System.Web.dll situato in C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.0, ma ha un simbolo esclamativo giallo e ricevo ancora l'errore precedente. Ho anche la using System.Webdichiarazione.

Che cosa sto facendo di sbagliato?


Aggiornamento: dopo aver ottenuto la risposta rapida che mi indicava la causa principale, ho cercato un po 'su Google dove si afferma che System.Web.dll è per il framework completo. Non ho trovato un tale riferimento.
Per i neofiti come me, questo blog riassume bene la differenza tra i framework (client e full). Non sono riuscito a trovare un punto che dica se una determinata DLL è supportata o meno nel framework del client. Immagino che il punto esclamativo in Visual Studio dovrebbe essere il primo segnale ...


2
Stai mirando al profilo del cliente?
SLaks

Risposte:


87

Probabilmente stai prendendo di mira il profilo del cliente, in cui System.Web.dllnon è disponibile.

Puoi indirizzare il framework completo nelle Proprietà del progetto .


13
Bingo! dove è specificato? Dove avrei dovuto leggerlo? Grazie.
Shaihi

Ho impostato il framework completo nelle proprietà del progetto, ma il problema esiste.
Alex Jolig

@AlexJolig: assicurati di avere il riferimento e lo spazio dei nomi.
SLaks

@ blackholeearth0_gmail: qual è il problema? Cosa stai mirando?
SLaks

ho convertito il progetto da .net2 a .net4. solo cambiare Target Framework non ha risolto il problema. dovevo aggiungere anche la dll. che è spiegato meglio nella risposta di lxk613 e mostra cosa devo fare per risolvere il problema.
bh_earth0

188

Devi aggiungere il System.Webriferimento;

  1. Fare clic con il pulsante destro del mouse su "Riferimento" in Esplora soluzioni
  2. Scegli "Aggiungi riferimento"
  3. Verificare che la scheda ".NET" sia selezionata.
  4. Cerca e aggiungi "System.Web".

App console VS2012 che utilizza come destinazione .NET Framework 4.5. Questo risolto.
Kyle

Anche con l'obiettivo, solo l'aggiunta di riferimenti ha funzionato per me. Grazie lxk613
João Bruno Abou Hatem de Liz

Bingo! Questa è la risposta.
Alper

Il mio albero di esplorazione della soluzione non contiene "Riferimento"
Paul Gorbas

se stai usando le funzioni di Azure, aggiungi #r "System.Web" sopra il tuo file
Irshad Mohamed

17

SLaks ha la risposta giusta ... ma lasciami essere un po 'più specifico per le persone, come me, che sono infastidite da questo e non riescono a trovarlo subito:

Progetto -> Proprietà -> Applicazione -> Framework di destinazione -> seleziona ".Net Framework 4"

il progetto verrà quindi salvato e ricaricato.


6
Ho avuto l'errore anche CON il framework completo mirato! Tuttavia, l'aggiunta di System.Web.dll come riferimento ha funzionato.
SteveCav

E ovviamente assicurati di aggiungere System.Webo anche System.Web.Mvcal file in questione.
TankorSmash

15

Per risolvere questo problema, vai gentilmente al percorso sottostante

Progetto -> Proprietà -> Applicazione -> TargetFramework

e modificare il Framework in ".NET Framework 4".

Una volta fatto questo, il progetto si chiuderà e si riaprirà.

Questo dovrebbe risolvere l'errore

(ma per qualche motivo la risposta di @Karan Modi non lo fa ...)

quindi fare clic con il pulsante destro del mouse sulla scheda riferimenti in Esplora soluzioni e scegliere aggiungi riferimento,

scegli "System.Web"

(dichiarare lo spazio dei nomi direttamente con "using System.Web;" non sembra essere sufficiente ... devi aggiungerlo a Esplora soluzioni ... non riesco a capire perché - il che non sorprende perché sono un programmatore cobol ..


12

Dopo aver seguito le risposte di cui sopra, e lo ha fatto

Progetto -> Proprietà -> Applicazione -> Framework di destinazione -> seleziona ".Net Framework 4"

Continuava a non funzionare finché non sono andato a
Project -> Add Reference
E selezionato System.web. E tutto ha funzionato collega un fascino.


La stessa soluzione è già stata fornita da qualcuno, 2 anni fa. Si prega di controllare le soluzioni prima di pubblicare il proprio. La domanda è troppo vecchia ed è meno probabile che il poster originale noti la tua risposta.
Tecnico,

Sembra la risposta di @ lxk613
Shaihi

8

Per risolvere questo problema, vai gentilmente al percorso sottostante

Progetto -> Proprietà -> Applicazione -> TargetFramework

e modificare il Framework in ".NET Framework 4".

Una volta fatto questo, il progetto si chiuderà e si riaprirà.

Questo dovrebbe risolvere l'errore.


su Mac, Target Framework max (grazie a mono) è .NET 2. Come posso risolvere lì?
Chris M

4

Agrega System.web a las referencias del proyecto.

[Modificare]

Secondo Google Translate, questo si traduce in:

Aggiungi System.Web ai riferimenti del progetto.


1

Ho avuto lo stesso problema di quello che ho fatto, ho copiato web.dll da Microsoft.NET framework, quindi incollo nella radice del progetto, quindi ho aggiunto dll refrence all'app, ha funzionato


1

L'aggiunta di un riferimento a Sysem.Web.Dll lo ha fatto per me.


0

Ha funzionato seguendo il processo:

Aggiungi riferimento:

system.net
system.web

inoltre, includi lo spazio dei nomi

using system.net
using system.web
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.