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

Shaihi
źródło
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 .

SLaks
źródło
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”.
lxk613
źródło
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.

Ktoś gdzieś
źródło
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 ..

JdB
źródło
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.

Maubeh
źródło
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.

Karan Modi
źródło
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.

John J.
źródło
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

Shaahin
źródło
1

Dodanie odwołania do Sysem.Web.Dll zrobiło to za mnie.

Ayo Adesina
źródł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
Bijay Budhathoki
źródło