HttpUtility не существует в текущем контексте

99

Я получаю эту ошибку при компиляции приложения C #. Похоже на банальную ошибку, но я не могу ее обойти.

Моя установка - 64-разрядная версия Windows 7. Visual-Studio 2010 C # express B2Rel.

Я добавил ссылку на System.Web.dll, расположенный по адресу C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.0, но он имеет желтый восклицательный знак, и я все еще получаю указанную выше ошибку. У меня тоже есть using System.Webдекларация.

Что я делаю не так?


Обновление: получив быстрый ответ, указывающий мне на основную причину, я немного поискал в Google, где говорится, что System.Web.dll предназначен для полной структуры. Такой ссылки не нашел.
Для таких новичков, как я, этот блог прекрасно описывает разницу между фреймворками (клиентской и полной). Я не смог найти место, где говорится, поддерживается ли определенная Dll в клиентской среде или нет. Думаю, восклицательный знак в Visual Studio должен быть первым сигналом ...

Шайхи
источник
2
Вы ориентируетесь на Профиль клиента?
SLaks 08

Ответы:

87

Вы, вероятно, ориентируетесь на Профиль клиента, который System.Web.dllнедоступен.

Вы можете настроить таргетинг на всю структуру в Свойствах проекта .

SLaks
источник
13
Бинго! где это указано? Где я должен был это прочитать? Спасибо.
Shaihi
Я установил полную структуру в Project Properties, но проблема существует.
Alex Jolig
@AlexJolig: Убедитесь, что у вас есть ссылка и пространство имен.
SLaks
@ blackholeearth0_gmail: В чем проблема? На что вы нацеливаетесь?
SLaks
Я преобразовал проект из .net2 в .net4. просто изменение Target Framework не помогло решить проблему. мне тоже нужно было добавить dll. это лучше объясняется в ответе lxk613 и показывает, что мне нужно сделать, чтобы исправить проблему.
bh_earth0
189

Вам необходимо добавить System.Webссылку;

  1. Щелкните правой кнопкой мыши «Ссылку» в обозревателе решений.
  2. Выберите «Добавить ссылку».
  3. Убедитесь, что выбрана вкладка «.NET».
  4. Найдите и добавьте "System.Web".
lxk613
источник
Консольное приложение VS2012 с использованием .NET Framework 4.5. Это решено.
Kyle
Даже с целью у меня работало только добавление ссылки. Спасибо lxk613
Жоао Бруно Абу Хатем де Лиз
Бинго! Это ответ.
Alper
Мое дерево обозревателя решений не содержит «Ссылки»
Пол Горбас
если вы используете функции Azure, добавьте #r "System.Web" поверх своего файла
Иршад Мохамед
17

У SLaks есть правильный ответ ... но позвольте мне быть более конкретным для таких людей, как я, которых это раздражает и которые не могут найти его сразу:

Проект -> Свойства -> Приложение -> Целевая платформа -> выберите ".Net Framework 4"

затем проект будет сохранен и перезагружен.

Кто-то где-то
источник
6
У меня была ошибка даже при целевом фреймворке! Однако добавление System.Web.dll в качестве ссылки сработало.
SteveCav
И, конечно же, не забудьте добавить System.Webили System.Web.Mvcв рассматриваемый файл.
TankorSmash 08
15

Чтобы решить эту проблему, пожалуйста, перейдите по указанному ниже пути

Проект -> Свойства -> Приложение -> TargetFramework

и измените Framework на «.NET Framework 4».

Как только вы это сделаете, проект закроется и снова откроется.

Это должно устранить ошибку

(но по какой-то причине ответ @Karan Modi не ...)

затем щелкните правой кнопкой мыши вкладку ссылок в проводнике решений и выберите добавить ссылку,

выберите "System.Web"

(объявления пространства имен напрямую с помощью "using System.Web;", кажется, недостаточно ... вы должны добавить его в проводник решений ... я не могу понять почему - что неудивительно, потому что я программист на коболе ..

JdB
источник
12

После выполнения приведенных выше ответов и сделал

Проект -> Свойства -> Приложение -> Целевая платформа -> выберите ".Net Framework 4"

Это все еще не работало, пока я не пошел в
Project -> Add Reference
И выбрал System.web. И все работало звено шарма.

Maubeh
источник
Такое же решение уже было предоставлено кем-то 2 года назад. Пожалуйста, проверьте решения, прежде чем размещать свои собственные. Вопрос слишком старый, и исходный постер вряд ли заметит ваш ответ.
Techie
Похоже, ответ @ lxk613
Шайхи
8

Чтобы решить эту проблему, пожалуйста, перейдите по указанному ниже пути

Проект -> Свойства -> Приложение -> TargetFramework

и измените Framework на «.NET Framework 4».

Как только вы это сделаете, проект закроется и снова откроется.

Это должно устранить ошибку.

Каран Моди
источник
на Mac Target Framework max (благодаря моно) - это .NET 2. Как я могу решить эту проблему?
Chris M
4

Agrega System.web - это последние ссылки проекта.

[Редактировать]

Согласно Google Translate, это означает:

Добавьте System.Web в ссылки проекта.

Джон Дж.
источник
1

У меня была та же проблема, что и у меня, я скопировал web.dll из среды Microsoft.NET, затем вставил в корень проекта, затем добавил ссылку на dll в приложение, это сработало

Шаахин
источник
1

Добавление ссылки на Sysem.Web.Dll сделало это за меня.

Айо Адесина
источник
0

Это сработало следующим образом:

Добавить ссылку:

system.net
system.web

также включите пространство имен

using system.net
using system.web
Биджай Будхатхоки
источник