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 ...


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 .


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.

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.


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.


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.


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.


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.


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


1

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


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
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.