HttpUtility.UrlEncode в консольном приложении
Я хотел бы использовать HttpUtility.UrlEncode в консольном приложении, VB.NET, VS 2010 Beta 2.
System.Web.HttpUtility.UrlEncode(item)
Сообщение об ошибке: "HttpUtility" не является членом "Web".
В этот вопрос Анжисан предлагает добавить ссылку на System.Web следующим образом:
- В своем проводнике решений щелкните правой кнопкой мыши по ссылкам
- Выберите "добавить ссылку"
- В диалоговом окне "Добавить ссылку" используйте вкладку .NET
- Прокрутите вниз до System.Web, выберите это и нажмите ok
Однако у меня нет записи System.Web в этом месте.
Ответы
Ответ 1
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; перейдите в проект → Свойства... → вкладка приложения
Ответ 2
Убедитесь, что целевая инфраструктура - это ".NET Framework 4", а не "Профиль клиента .NET Framework 4".
Ответ 3
@iar, фреймворк не был настроен на "неправильный". Консоль и приложения Windows (есть больше) целевого профиля клиента .NET Framework 4 по умолчанию в Visual Studio 2010. Это по дизайну. И это происходит, когда вы нацеливаете ".NET Framework 4" в диалоговом окне "Новый проект". Почему System.Web.dll не нашел, потому что он не является частью профиля клиента .NET Framework 4, поэтому система проекта не может найти его и выдает предупреждение во время сборки (что вы, вероятно, проигнорировали, предоставив вам ссылку System.Web.dll). Вы не найдете System.Web.dll на вкладке .NET в диалоговом окне "Добавить ссылку", так как этот список фильтруется в соответствии с целевой инфраструктурой.
Ответ 4
Если вы используете .NET 4.0 или новее, вы можете использовать WebUtility.UrlEncode, который работает с профилем клиента (не требует System.Web сборка).
Ответ 5
Изменение целевой целевой структуры проекта из ".NET-клиента клиента .NET Framework 4" на ".NET Framework 4.0" помогло мне с профилем клиента .NET Framework 4 в качестве целевой среды, я смог добавить версию System.Web 2.0, просмотрев C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727 из окна добавления ссылок, но делает то же самое для dll System.Web 4.0. Предупреждение.
Ответ 6
Для проектов VB в Visual Studio 2010 опция изменить целевую инфраструктуру из "профиля клиента .NET Framework 4.0" на ".NET Framework 4.0" находится в разделе "Проект" > "Свойства" > "Скомпилировать" > "Расширенные параметры компиляции..."
Ответ 7
Вам нужно добавить ссылку на System.Web и System.Web.Extensions.