HttpUtility.UrlEncode в консольном приложении - PullRequest
30 голосов
/ 27 января 2010

Я хотел бы использовать HttpUtility.UrlEncode в консольном приложении, VB.NET, VS 2010 Beta 2.

System.Web.HttpUtility.UrlEncode(item)

Сообщение об ошибке: «HttpUtility» не является членом «Web».

В этот вопрос Анджисан предлагает добавить ссылку на System.Web следующим образом:

  1. В обозревателе решений щелкните правой кнопкой мыши ссылки
  2. Выберите «Добавить ссылку»
  3. В диалоговом окне «Добавить ссылку» перейдите на вкладку .NET
  4. Прокрутите вниз до System.Web, выберите его и нажмите ОК

Однако у меня нет записи System.Web в этом месте.

Ответы [ 7 ]

32 голосов
/ 27 января 2010

System.Web есть, но, похоже, Visual Studio не сортирует по имени по умолчанию. Вам нужно нажать на столбец Component name, чтобы отсортировать этот список.

Мне удалось запустить этот код:

Console.WriteLine(System.Web.HttpUtility.UrlEncode(" ")); // +

Просто добавив ссылку System.Web, без System.Web.Extensions.

Кроме того, вам следует заменить целевой фреймворк с .NET Framework 4 Client Profile на .NET Framework 4; перейдите в Проект >> Свойства ... >> Вкладка приложения

14 голосов
/ 20 апреля 2010

Убедитесь, что вашей целевой платформой является ".NET Framework 4", а не ".NET Framework 4 Client Profile".

5 голосов
/ 11 апреля 2010

@ iar, фреймворк не был установлен на "неправильный". Консольные и Windows-приложения (есть и другие) по умолчанию предназначены для клиентского профиля .NET Framework 4 в Visual Studio 2010. Это сделано специально. И это происходит, когда вы выбираете «.NET Framework 4» в диалоговом окне «Новый проект». Почему он не нашел System.Web.dll, потому что он не является частью .NET Framework 4 Client Profile, поэтому система проекта не может его найти и выдает предупреждение во время сборки (которое вы, вероятно, проигнорировали, предоставив вам ссылку System.Web.dll). Вы также не найдете файл System.Web.dll на вкладке .NET в диалоговом окне «Добавить ссылку», поскольку этот список фильтруется в соответствии с целевой структурой.

4 голосов
/ 26 ноября 2015

Если вы используете .NET 4.0 или выше, вы можете использовать WebUtility.UrlEncode , который работает с профилем клиента (не требует ссылки на сборку System.Web).

1 голос
/ 29 декабря 2011

Для проектов VB в Visual Studio 2010 возможность изменить целевую платформу с «Профиль клиента .NET Framework 4.0» на «.NET Framework 4.0» находится в разделе «Проект»> «Свойства»> «Компиляция»> «Дополнительные параметры компиляции ...».

1 голос
/ 27 августа 2010

Мне помогла смена Target Framework проекта с ".NET Framework 4 Client Profile" на ".NET Framework 4.0", с .NET Framework 4 Client Profile в качестве Target Framework Я смог добавить версию System.Web 2.0, просмотрев страницу C: \ WINDOWS \ Microsoft.NET \ Framework \ v2.0.50727 из окна Добавить ссылку, но делая то же самое для System.Web 4.0, DLL выдала предупреждение.

1 голос
/ 27 января 2010

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

...