HttpUtility não existe no contexto atual

98

Recebo este erro ao compilar um aplicativo C #. Parece um erro trivial, mas não consigo contorná-lo.

Minha configuração é Windows 7 de 64 bits. Visual-Studio 2010 C # express B2Rel.

Eu adicionei uma referência a System.Web.dll localizada em C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.0, mas tem um símbolo de exclamação amarelo e ainda recebo o erro acima. Eu também tenho a using System.Webdeclaração.

O que estou fazendo de errado?


Update: Depois de obter a resposta de alerta apontando-me a causa raiz, eu pesquisei um pouco no Google onde afirma que System.Web.dll é para a estrutura completa. Eu não encontrei essa referência.
Para iniciantes como eu, este blog resume bem a diferença entre os frameworks (cliente e completo). Não consegui encontrar um local que indicasse se uma determinada DLL é compatível ou não com o framework do cliente. Acho que o ponto de exclamação no Visual Studio deve ser o primeiro sinal ...

Shaihi
fonte
2
Você está direcionando o perfil do cliente?
SLaks

Respostas:

87

Você provavelmente está visando o Perfil do Cliente, no qual System.Web.dllnão está disponível.

Você pode direcionar a estrutura completa nas propriedades do projeto .

SLaks
fonte
13
Bingo! onde isso é especificado? Onde eu deveria ler isso? Obrigado.
Shaihi
Eu configurei a estrutura completa em Propriedades do projeto, mas o problema existe.
Alex Jolig
@AlexJolig: Certifique-se de ter a referência e o namespace.
SLaks de
@ blackholeearth0_gmail: Qual é o problema? O que você está almejando?
SLaks de
Eu converti o projeto de .net2 para .net4. apenas mudar o Target Framework não corrigia o problema. eu precisava adicionar a dll também. isso é explicado melhor na resposta do lxk613 e mostra o que preciso fazer para corrigir o problema.
bh_earth0
187

Você precisa adicionar a System.Webreferência;

  1. Clique com o botão direito em "Referência" no Gerenciador de Soluções
  2. Escolha "Adicionar Referência"
  3. Verifique se a guia ".NET" está selecionada.
  4. Pesquise e adicione "System.Web".
lxk613
fonte
VS2012 Console App usando o .NET Framework 4.5 direcionado. Isso foi resolvido.
Kyle
Mesmo com o alvo, apenas adicionar referência funcionou para mim. Obrigado lxk613
João Bruno Abou Hatem de Liz
Bingo! Esta é a resposta.
Alper
Minha árvore do Explorer da solução não contém "Referência"
Paul Gorbas
se você estiver usando funções do Azure, adicione #r "System.Web" na parte superior do seu arquivo
Irshad Mohamed
17

SLaks tem a resposta certa ... mas deixe-me ser um pouco mais específico para pessoas, como eu, que estão incomodadas com isso e não conseguem encontrar de imediato:

Projeto -> Propriedades -> Aplicativo -> Estrutura de destino -> selecione ".Net Framework 4"

o projeto será salvo e recarregado.

Alguém algum lugar
fonte
6
Tive o erro mesmo COM o framework completo direcionado! Adicionar System.Web.dll como referência funcionou.
SteveCav
E, obviamente, certifique-se de adicionar System.Webou System.Web.Mvcao arquivo em questão também.
TankorSmash
15

Para resolver isso, vá para o caminho abaixo

Projeto -> Propriedades -> Aplicativo -> TargetFramework

e altere o Framework para ".NET Framework 4".

Depois de fazer isso, o projeto será fechado e reaberto.

Isso deve resolver o erro

(mas por alguma razão a resposta de @Karan Modi não ...)

em seguida, clique com o botão direito do mouse na guia de referências no explorador de soluções e escolha adicionar referência,

escolha "System.Web"

(declarar o namespace diretamente por "using System.Web;" não parece ser suficiente ... você tem que adicioná-lo ao explorador de soluções ... eu não consigo entender o porquê - o que não é surpresa porque eu sou um programador cobol ..

JdB
fonte
12

Depois de seguir as respostas acima, e fiz

Projeto -> Propriedades -> Aplicativo -> Estrutura de destino -> selecione ".Net Framework 4"

Ainda não funcionou até que eu fui para
Project -> Add Reference
E selecionado System.web. E tudo funcionou link um encanto.

Maubeh
fonte
A mesma solução já foi fornecida por alguém, 2 anos atrás. Verifique as soluções antes de postar as suas. A pergunta é muito antiga e o autor da postagem original tem menos probabilidade de notar sua resposta.
Techie
Parece a resposta de @ lxk613
Shaihi
8

Para resolver isso, vá para o caminho abaixo

Projeto -> Propriedades -> Aplicativo -> TargetFramework

e altere o Framework para ".NET Framework 4".

Depois de fazer isso, o projeto será fechado e reaberto.

Isso deve resolver o erro.

Karan Modi
fonte
no Mac, o Target Framework max (graças ao mono) é .NET 2. Como posso resolver lá?
Chris M
4

Agrega System.web a las referencias del proyecto.

[Editar]

De acordo com o Google Translate, isso se traduz em:

Adicione System.Web às referências do projeto.

John J.
fonte
1

Tive o mesmo problema que tive, copiei web.dll do framework Microsoft.NET, colei na raiz do projeto e adicionei dll refrence ao app, funcionou

Shaahin
fonte
1

Adicionar uma referência a Sysem.Web.Dll fez isso por mim.

Ayo Adesina
fonte
0

Funcionou pelo seguinte processo:

Adicionar referência:

system.net
system.web

também, inclua o namespace

using system.net
using system.web
Bijay Budhathoki
fonte