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недоступен.

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


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

Консольное приложение 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;", кажется, недостаточно ... вы должны добавить его в проводник решений ... я не могу понять почему - что неудивительно, потому что я программист на коболе ..


12

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

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

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


Такое же решение уже было предоставлено кем-то 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 в приложение, это сработало



0

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

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

system.net
system.web

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

using system.net
using system.web
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.