HttpUtility не існує в поточному контексті


99

Я отримую цю помилку під час компіляції програми C #. Схоже на тривіальну помилку, але я не можу її обійти.

Моє налаштування - Windows 7 64 bit. 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
Ви націлюєтесь на профіль клієнта?
СЛАкс

Відповіді:


87

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

Ви можете орієнтуватися на повний фреймворк у Властивості проекту .


13
Бінго! де це вказано? Де я мав це читати? Дякую.
Шайхі

Я встановив повний фреймворк у Project Properties, але проблема існує.
Алекс Джоліг

@AlexJolig: Переконайтеся, що у вас є посилання та простір імен.
Слакс

@ blackholeearth0_gmail: У чому проблема? Що ви націлюєте?
Слакс

я перетворив проект з .net2 на .net4. просто зміна Target Framework не вирішила проблему. мені також потрібно було додати DLL. це пояснено краще у відповіді lxk613 і показує, що мені потрібно зробити, щоб виправити проблему.
bh_earth0

188

Вам потрібно додати System.Webпосилання;

  1. Клацніть правою кнопкою миші на "Посилання" в Провіднику рішень
  2. Виберіть "Додати посилання"
  3. Перевірте, чи вибрано вкладку ".NET".
  4. Шукайте та додайте "System.Web".

Додаток консолі VS2012 за допомогою націлювання .NET Framework 4.5. Це вирішено.
Кайл

Навіть з цільовою метою мені працювало лише додавання посилань. Дякую lxk613
Жоао Бруно Абу Хатем де Ліз

Бінго! Це відповідь.
Альпер

Моє рішення Explorer Explorer не містить "Довідки"
Пол Горбас,

якщо ви використовуєте функції Azure, додайте #r "System.Web" поверх файлу
Іршад Мохамед,

17

SLaks має правильну відповідь ... але дозвольте мені бути дещо конкретнішим для таких людей, як я, яких це дратує і вони не можуть відразу знайти:

Проект -> Властивості -> Застосування -> Цільова рамка -> виберіть ".Net Framework 4"

тоді проект збереже та перезавантажить.


6
У мене виникла помилка навіть із цілим фреймворком! Додавання System.Web.dll як посилання працювало, хоча.
SteveCav

І очевидно переконайтесь, що ви також додали System.Webабо System.Web.Mvcдо відповідного файлу.
TankorSmash

15

Щоб вирішити це, будь ласка, перейдіть до наведеного нижче шляху

Проект -> Властивості -> Застосування -> TargetFramework

і змініть Framework на ".NET Framework 4".

Після цього проект закриється та знову відкриється.

Це повинно вирішити помилку

(але чомусь відповідь @Karan Modi не відповідає)

наступним клацніть правою кнопкою миші вкладку посилань у провіднику рішень та виберіть додати посилання,

виберіть "System.Web"

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


12

Після виконання відповідей вище, і зробив

Проект -> Властивості -> Застосування -> Цільова рамка -> виберіть ".Net Framework 4"

Це все ще не спрацювало, поки я не пішов до
Project -> Add Reference
І вибраний System.web. І все, що працює, пов'язує чарівність.


Таке ж рішення хтось уже надав, 2 роки тому. Будь ласка, перевірте рішення, перш ніж публікувати свої. Питання занадто старе, і оригінальний плакат рідше помітить вашу відповідь.
Течі

Схоже, відповідь @ lxk613
Шайхі

8

Щоб вирішити це, будь ласка, перейдіть до наведеного нижче шляху

Проект -> Властивості -> Застосування -> TargetFramework

і змініть Framework на ".NET Framework 4".

Після цього проект закриється та знову відкриється.

Це повинно вирішити помилку.


на Mac, Target Framework max (завдяки mono) становить .NET 2. Як я можу вирішити там?
Кріс М

4

Agrega System.web a las referencias del proyecto.

[Редагувати]

За даними 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.