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


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 .


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

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.


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


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.


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.


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.


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



0

Funcionou pelo seguinte processo:

Adicionar referência:

system.net
system.web

também, inclua o namespace

using system.net
using system.web
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.