Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 为什么Visual C 2008中不存在System.Web.HttpUtility.UrlEncode提供名称空间名称?_C#_Visual Studio 2008_Urlencode - Fatal编程技术网

C# 为什么Visual C 2008中不存在System.Web.HttpUtility.UrlEncode提供名称空间名称?

C# 为什么Visual C 2008中不存在System.Web.HttpUtility.UrlEncode提供名称空间名称?,c#,visual-studio-2008,urlencode,C#,Visual Studio 2008,Urlencode,我正在尝试使用HttpUtility.UrlEncode方法对URL进行编码,为什么会出现这种情况 命名空间“System.Web”中不存在类型或命名空间名称“HttpUtility”。是否缺少程序集引用 错误? 我正在使用Visual C 2008,快速版 我使用的代码过于简单: using System; using System.Text; using System.Windows.Forms; using System.Net; using System.IO; using System

我正在尝试使用HttpUtility.UrlEncode方法对URL进行编码,为什么会出现这种情况

命名空间“System.Web”中不存在类型或命名空间名称“HttpUtility”。是否缺少程序集引用

错误? 我正在使用Visual C 2008,快速版

我使用的代码过于简单:

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

        }

    }
}

您需要包括对System.Web的引用。在解决方案资源管理器中右键单击项目,然后选择“添加引用…”。如果您查看一下,您将看到它包含在System.Web.dll程序集中,据我所知,在新项目中默认情况下不会引用它。

以防有人无意中发现它,它正在运行VS 2010,并且在可用的引用中找不到System.Web

右键单击项目并选择属性,如果目标框架设置为.Net Framework 4 Client,则将其更改为.Net Framework 4

但是要注意,这将关闭、重新打开并重建您的项目,如果您有一个web服务引用,这些引用也需要刷新

单击菜单中的“项目”选项卡 单击添加引用 在References窗口中,单击Framework并检查System.Web
对于使用.NET 4.0或更高版本的用户,您可以使用不需要System.Web程序集引用的客户端配置文件。

不使用System.Web自动添加引用吗?您是否检查了它是否被引用?@Sathya:add using指令与引用无关,它只允许您在代码文件中使用该namspace中的类型,而不指定完整的类型名,这样您就可以编写HttpUtility.UrlEncode而不是System.Web.HttpUtility.UrlEncode。为什么在默认情况下,任何项目都不包括System.[anything]?对我来说毫无意义。谢谢。我通常不使用Express,所以我想知道为什么找不到这个参考资料。谢谢!我想我错过了一些明显的东西。注意vs重启的事情!对于Visual Basic用户,应在“编译”选项卡底部的“高级编译选项”中的“编译”选项卡中更改框架。我不得不在一个项目中使用.NET4.0,WebUtility上只有HtmlEncode和HtmlDecode可用。完整配置文件中没有UrlEncode。