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.