HttpUtility nie istnieje w bieżącym kontekście


99

Ten błąd pojawia się podczas kompilowania aplikacji C #. Wygląda na trywialny błąd, ale nie mogę tego obejść.

Moja konfiguracja to Windows 7 64-bitowy. Visual-Studio 2010 C # express B2Rel.

Dodałem odniesienie do System.Web.dll znajdującego się pod adresem C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.0, ale ma żółty symbol wykrzyknika i nadal otrzymuję powyższy błąd. Mam też using System.Weboświadczenie.

Co ja robię źle?


Aktualizacja: Po otrzymaniu szybkiej odpowiedzi wskazującej mi przyczynę źródłową, przeszukałem trochę w Google, gdzie stwierdzono, że System.Web.dll jest dla pełnego frameworka. Nie znalazłem takiego odniesienia.
Dla początkujących, takich jak ja, ten blog ładnie podsumowuje różnicę między frameworkami (klientem i pełnym). Nie mogłem znaleźć miejsca, które mówi, czy określona biblioteka DLL jest obsługiwana w ramach klienta, czy nie. Myślę, że wykrzyknik w Visual Studio powinien być pierwszym sygnałem ...


2
Czy kierujesz się na profil klienta?
SLaks

Odpowiedzi:


87

Prawdopodobnie celujesz w profil klienta, w którym System.Web.dllnie jest dostępny.

Możesz kierować na pełną strukturę we właściwościach projektu .


13
Bingo! gdzie jest to określone? Gdzie miałem to przeczytać? Dzięki.
Shaihi

Ustawiłem pełny szkielet we właściwościach projektu, ale problem istnieje.
Alex Jolig,

@AlexJolig: Upewnij się, że masz odwołanie i przestrzeń nazw.
SLaks

@ blackholeearth0_gmail: W czym problem? Co zamierzasz?
SLaks

przekonwertowałem projekt z .net2 na .net4. sama zmiana platformy docelowej nie rozwiązała problemu. Musiałem też dodać bibliotekę dll. To jest lepiej wyjaśnione w odpowiedzi lxk613 i pokazuje, co muszę zrobić, aby rozwiązać problem.
bh_earth0

188

Musisz dodać System.Webodniesienie;

  1. Kliknij prawym przyciskiem myszy „Odwołanie” w Eksploratorze rozwiązań
  2. Wybierz „Dodaj odniesienie”
  3. Sprawdź, czy wybrana jest zakładka „.NET”.
  4. Wyszukaj i dodaj „System.Web”.

Aplikacja konsoli VS2012 przy użyciu platformy docelowej .NET Framework 4.5. To rozwiązało.
Kyle

Nawet z celem działało tylko dodanie odniesienia. Dzięki lxk613
João Bruno Abou Hatem de Liz

Bingo! To jest odpowiedź.
Alper

Moje drzewo eksploratora rozwiązań nie zawiera „Odniesienia”
Paul Gorbas

jeśli korzystasz z funkcji platformy Azure, dodaj #r „System.Web” w górnej części pliku
Irshad Mohamed

17

SLaks ma właściwą odpowiedź ... ale pozwólcie, że będę bardziej konkretny dla ludzi takich jak ja, którzy są tym zirytowani i nie mogą tego od razu znaleźć:

Projekt -> Właściwości -> Aplikacja -> Platforma docelowa -> wybierz „.Net Framework 4”

projekt zostanie następnie zapisany i załadowany ponownie.


6
Miałem ten błąd nawet Z pełnym celem! Dodanie System.Web.dll jako odniesienia zadziałało.
SteveCav

I oczywiście pamiętaj, aby dodać System.Weblub System.Web.Mvcdo danego pliku.
TankorSmash

15

Aby rozwiązać ten problem, uprzejmie przejdź do poniższej ścieżki

Projekt -> Właściwości -> Aplikacja -> TargetFramework

i zmień Framework na „.NET Framework 4”.

Gdy to zrobisz, projekt zostanie zamknięty i ponownie otwarty.

To powinno rozwiązać błąd

(ale z jakiegoś powodu odpowiedź @Karan Modi nie ...)

następnie kliknij prawym przyciskiem myszy kartę odwołań w eksploratorze rozwiązań i wybierz dodaj odniesienie,

wybierz „System.Web”

(deklarowanie przestrzeni nazw bezpośrednio przez „użycie System.Web;” wydaje się nie wystarczać ... musisz dodać ją do eksploratora rozwiązań ... nie rozumiem dlaczego - co nie jest zaskoczeniem, ponieważ jestem programistą w firmie Cobol ..


12

Po wykonaniu powyższych odpowiedzi i tak

Projekt -> Właściwości -> Aplikacja -> Platforma docelowa -> wybierz „.Net Framework 4”

Nadal nie działało, dopóki nie poszedłem do
Project -> Add Reference
I wybrałem System.web. I wszystko działało, łączy urok.


To samo rozwiązanie zostało już dostarczone przez kogoś 2 lata temu. Sprawdź rozwiązania przed wysłaniem własnego. Pytanie jest zbyt stare i jest mniej prawdopodobne, że oryginalny plakat zauważy Twoją odpowiedź.
Techie

Wydaje się, że odpowiedź @ lxk613
Shaihi

8

Aby rozwiązać ten problem, uprzejmie przejdź do poniższej ścieżki

Projekt -> Właściwości -> Aplikacja -> TargetFramework

i zmień Framework na „.NET Framework 4”.

Gdy to zrobisz, projekt zostanie zamknięty i ponownie otwarty.

To powinno rozwiązać błąd.


na Macu, Target Framework max (dzięki mono) to .NET 2. Jak mogę tam rozwiązać problem?
Chris M

4

Agrega System.web a las referencias del proyecto.

[Edytować]

Według Tłumacza Google przekłada się to na:

Dodaj System.Web do odniesień do projektu.


1

Miałem ten sam problem co zrobiłem, skopiowałem web.dll z frameworka Microsoft.NET, następnie wkleiłem w katalogu głównym projektu, następnie dodałem odwołanie do dll do aplikacji, zadziałało



0

Działało w następujący sposób:

Dodaj odniesienie:

system.net
system.web

Uwzględnij również przestrzeń nazw

using system.net
using system.web
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.