web-dev-qa-db-fra.com

Pourquoi System.Web.HttpUtility.UrlEncode attribuant un nom d'espace de nom n'existe-t-il pas dans Visual C # 2008?

J'essaie de coder une URL en utilisant la méthode HttpUtility.UrlEncode(), pourquoi suis-je en train de recevoir

Le type ou le nom d'espace de noms 'HttpUtility' n'existe pas dans l'espace de noms 'System.Web' (il manque une référence d'assembly?)

erreur ? J'utilise Visual C # 2008, Express Edition.

Le code que j'utilise est simpliste:

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();

        }

    }
}
21
Sathyajith Bhat

Vous devez inclure une référence à System.Web. Cliquez avec le bouton droit de la souris sur votre projet dans l'explorateur de solutions et choisissez Ajouter une référence ... . Si vous regardez _ MSDN , vous verrez qu'il est contenu dans l'assembly System.Web.dll, pour autant que je m'en souvienne, ceci n'est pas référencé par défaut dans les nouveaux projets.

30
Cecil Has a Name

Juste au cas où quelqu'un tomberait dessus, utilise VS 2010 et ne trouve pas System.Web dans les références disponibles ...

Cliquez avec le bouton droit sur le projet et sélectionnez Propriétés. Si le cadre cible est défini sur "Client .Net Framework 4", remplacez-le par ".Net Framework 4".

Mais attention, cela fermera, rouvrira et reconstruira votre projet (même si vous avez un service Web référencé, vous devrez le réactualiser)

29
earcam

Pour les personnes utilisant .NET 4.0 ou version ultérieure, vous pouvez utiliser WebUtility.UrlEncode qui fonctionne avec le profil client (ne nécessite pas de référence System.Web Assembly).

5
Lirrik
  1. cliquez sur l'onglet projet dans le menu
  2. cliquez sur Ajouter des références
  3. dans la fenêtre Références, cliquez sur Framework et vérifiez le fichier System.Web.
0
Adiii