HttpUtility ist im aktuellen Kontext nicht vorhanden

98

Ich erhalte diesen Fehler beim Kompilieren einer C # -Anwendung. Sieht aus wie ein trivialer Fehler, aber ich kann ihn nicht umgehen.

Mein Setup ist Windows 7 64 Bit. Visual-Studio 2010 C # Express B2Rel.

Ich habe einen Verweis auf System.Web.dll unter hinzugefügt C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.0, aber es hat ein gelbes Ausrufezeichen und ich erhalte immer noch den obigen Fehler. Ich habe auch die using System.WebErklärung.

Was mache ich falsch?


Update: Nachdem ich die sofortige Antwort erhalten hatte, die mich auf die Grundursache hinwies, suchte ich in Google ein wenig nach der Stelle, an der angegeben ist, dass System.Web.dll für das vollständige Framework bestimmt ist. Ich habe keinen solchen Hinweis gefunden.
Für Neulinge wie mich fasst dieser Blog den Unterschied zwischen den Frameworks (Client und Full) gut zusammen. Ich konnte keinen Punkt finden, der besagt, ob eine bestimmte DLL im Client-Framework unterstützt wird oder nicht. Ich denke, das Ausrufezeichen in Visual Studio sollte das erste Signal sein ...

Shaihi
quelle
2
Zielen Sie auf das Kundenprofil ab?
SLaks

Antworten:

87

Sie zielen wahrscheinlich auf das Kundenprofil ab, in dem System.Web.dlles nicht verfügbar ist.

Sie können das vollständige Framework in den Projekteigenschaften ausrichten .

SLaks
quelle
13
Bingo! wo ist das angegeben? Wo sollte ich das lesen? Vielen Dank.
Shaihi
Ich habe das vollständige Framework in den Projekteigenschaften festgelegt, aber das Problem besteht.
Alex Jolig
@AlexJolig: Stellen Sie sicher, dass Sie die Referenz und den Namespace haben.
SLaks
@ blackholeearth0_gmail: Was ist das Problem? Was zielen Sie ab?
SLaks
Ich habe das Projekt von .net2 nach .net4 konvertiert. Nur das Ändern des Ziel-Frameworks hat das Problem nicht behoben. Ich musste auch die DLL hinzufügen. Das wird in der Antwort von lxk613 besser erklärt und zeigt, was ich tun muss, um das Problem zu beheben.
bh_earth0
187

Sie müssen die System.WebReferenz hinzufügen .

  1. Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf "Referenz"
  2. Wählen Sie "Referenz hinzufügen"
  3. Überprüfen Sie, ob die Registerkarte ".NET" ausgewählt ist.
  4. Suchen Sie nach "System.Web" und fügen Sie es hinzu.
lxk613
quelle
VS2012-Konsolen-App mit Targeting .NET Framework 4.5. Dies wurde behoben.
Kyle
Selbst mit dem Ziel hat das Hinzufügen von Referenzen für mich funktioniert. Danke lxk613
João Bruno Abou Hatem de Liz
Bingo! Das ist die Antwort.
Alper
Mein Lösungs-Explorer-Baum enthält keine "Referenz"
Paul Gorbas
Wenn Sie Azure-Funktionen verwenden, fügen Sie #r "System.Web" oben in Ihre Datei ein
Irshad Mohamed
17

SLaks hat die richtige Antwort ... aber lassen Sie mich etwas genauer auf Leute wie mich eingehen, die sich darüber ärgern und es nicht sofort finden können:

Projekt -> Eigenschaften -> Anwendung -> Ziel-Framework -> Wählen Sie ".Net Framework 4".

Das Projekt wird dann gespeichert und neu geladen.

Irgendwer irgendwo
quelle
6
Ich hatte den Fehler sogar mit dem vollen Framework ins Visier genommen! Das Hinzufügen von System.Web.dll als Referenz hat jedoch funktioniert.
SteveCav
Und natürlich stellen Sie sicher, dass Sie auch die betreffende Datei hinzufügen System.Weboder ergänzen System.Web.Mvc.
TankorSmash
15

Um dies zu beheben, gehen Sie bitte zum folgenden Pfad

Projekt -> Eigenschaften -> Anwendung -> TargetFramework

und ändern Sie das Framework in ".NET Framework 4".

Sobald Sie dies tun, wird das Projekt geschlossen und erneut geöffnet.

Dies sollte den Fehler beheben

(aber aus irgendeinem Grund @Karan Modis Antwort nicht ...)

Klicken Sie anschließend im Lösungs-Explorer mit der rechten Maustaste auf die Registerkarte Referenzen und wählen Sie Referenz hinzufügen.

Wählen Sie "System.Web".

(Das Deklarieren des Namespace direkt mit "using System.Web;" scheint nicht genug zu sein ... Sie müssen es dem Lösungs-Explorer hinzufügen ... Ich kann nicht verstehen, warum - was keine Überraschung ist, da ich ein Cobol-Programmierer bin.

JdB
quelle
12

Nachdem Sie die obigen Antworten befolgt und getan haben

Projekt -> Eigenschaften -> Anwendung -> Ziel-Framework -> Wählen Sie ".Net Framework 4".

Es hat immer noch nicht funktioniert, bis ich zu
Project -> Add Reference
And ausgewählt habe System.web. Und alles hat einen Charme verbunden.

Maubeh
quelle
Die gleiche Lösung wurde bereits vor 2 Jahren von jemandem bereitgestellt. Bitte überprüfen Sie die Lösungen, bevor Sie Ihre eigenen veröffentlichen. Die Frage ist zu alt und das Originalplakat bemerkt Ihre Antwort weniger wahrscheinlich.
Techie
Scheint wie @ lxk613 Antwort
Shaihi
8

Um dies zu beheben, gehen Sie bitte zum folgenden Pfad

Projekt -> Eigenschaften -> Anwendung -> TargetFramework

und ändern Sie das Framework in ".NET Framework 4".

Sobald Sie dies tun, wird das Projekt geschlossen und erneut geöffnet.

Dies sollte den Fehler beheben.

Karan Modi
quelle
Auf dem Mac ist Target Framework max (dank Mono) .NET 2. Wie kann ich es dort lösen?
Chris M
4

Agrega System.web a las referencias del proyecto.

[Bearbeiten]

Laut Google Translate bedeutet dies:

Fügen Sie System.Web zu den Projektreferenzen hinzu.

John J.
quelle
1

Ich hatte das gleiche Problem wie ich, ich habe web.dll aus Microsoft.NET Framework kopiert, dann in das Stammverzeichnis des Projekts eingefügt und dann der App eine DLL-Aktualisierung hinzugefügt, es hat funktioniert

Shaahin
quelle
1

Das Hinzufügen eines Verweises auf Sysem.Web.Dll hat es für mich getan.

Ayo Adesina
quelle
0

Es funktionierte wie folgt:

Referenz hinzufügen:

system.net
system.web

Fügen Sie auch den Namespace hinzu

using system.net
using system.web
Bijay Budhathoki
quelle