web-dev-qa-db-ja.com

名前空間名を指定するSystem.Web.HttpUtility.UrlEncodeがVisualC#2008に存在しないのはなぜですか?

HttpUtility.UrlEncode()メソッドを使用してURLをエンコードしようとしていますが、なぜ

タイプまたは名前空間の名前「HttpUtility」が名前空間「System.Web」に存在しません(アセンブリ参照がありませんか?)

エラー? Visual C#2008、ExpressEditionを使用しています。

私が使用しているコードは単純です:

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

System.Webへの参照を含める必要があります。ソリューションエクスプローラーでプロジェクトを右クリックし、参照の追加...を選択します。 [〜#〜] msdn [〜#〜] を見ると、System.Web.dllアセンブリに含まれていることがわかります。私が覚えている限り、これはによって参照されていません。新しいプロジェクトのデフォルト。

31

誰かがこれに遭遇した場合に備えて、VS 2010を実行していて、利用可能なリファレンスでSystem.Webを見つけることができません...

プロジェクトを右クリックし、[プロパティ]を選択します。ターゲットフレームワークが「.NetFramework 4クライアント」に設定されている場合は、「。NetFramework4」に変更します。

ただし、これによりプロジェクトが閉じられ、再度開かれ、再構築されることに注意してください(Webサービス参照がある場合は、これらを更新する必要があります)

29
earcam

.NET 4.0以降を使用している場合は、クライアントプロファイルで機能する WebUtility.UrlEncode を使用できます(System.Webアセンブリ参照は必要ありません)。

5
Lirrik
  1. メニューのプロジェクトタブをクリックします
  2. [参照の追加]をクリックします
  3. 参照ウィンドウでフレームワークをクリックし、System.Webを確認します
0
Adiii