Почему система.Сеть.Методу HttpUtility.UrlEncode, дающий имя пространства имен, не существует в Visual C# 2008?

Я пытаюсь кодировать URL-адрес с помощью HttpUtility.UrlEncode() метод, почему я получаю

тип или имя пространства имен "HttpUtility"не существует в системе пространства имен.Web '(вам не хватает ссылки на сборку?)

ошибка ? Я использую Visual C# 2008, Express Edition.

код, который я использую является упрощенным:

using System;
using System.Text;
using System.Windows.Forms;
using System.Net;
using System.IO;
using System.Web;
namespace Lincr
{
    public partial class frmMain : Form
    {
        public frmMain()
        {
            InitializeComponent();
        }

        private void cmdShorten_Click(object sender, EventArgs e)
        {
            WebRequest wrURL;
            Stream objStream;
            wrURL = WebRequest.Create("http://lin.cr?l=" + System.Web.HttpUtility.UrlEncode(txtURL.Text) + "&mode=api&full=1");
            objStream = wrURL.GetResponse().GetResponseStream();
            StreamReader objSReader = new StreamReader(objStream);
            textBox1.Text = objSReader.ReadToEnd().ToString();

        }

    }
}

4 ответов


вам нужно включить ссылку на System.Web. Щелкните правой кнопкой мыши проект в обозревателе решений и выберите команду Добавить Ссылку... . Если вы посмотрите на MSDN вы увидите, что он содержится в System.Web.dll assembly, насколько я помню, это не упоминается по умолчанию в новых проектах.


на всякий случай, если кто-то наткнется на это, работает против 2010 и не может найти систему.Web в доступных ссылках...

щелкните правой кнопкой мыши проект и выберите Свойства, если целевой фреймворк установлен в "клиент .Net Framework 4", затем измените его на ".Net Framework 4".

но будьте осторожны, это закроется, снова откроется и перестроит ваш проект (также, если у вас есть ссылки на веб-службы, они должны быть обновлены)


для людей, использующих .NET 4.0 или более позднюю версию, вы можете использовать WebUtility.Функция urlencode который работает с профилем клиента (не требует системы.Ссылка на веб-узел).


  1. нажмите на вкладку проект в меню
  2. нажмите Добавить ссылки
  3. в окне ссылки нажмите на фреймворк и проверьте систему.Web