我想在控制台应用程序,VB.NET,VS 2010 Beta 2中使用HttpUtility.UrlEncode。
System.Web.HttpUtility.UrlEncode(item)
错误消息:'HttpUtility'不是'Web'的成员。
在this question中,Anjisan建议添加对System.Web的引用,如下所示:
但是,我在该位置没有System.Web条目。
答案 0 :(得分:32)
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;转到项目>>属性...>>应用程序选项卡
答案 1 :(得分:14)
确保您的目标框架是“.NET Framework 4”而不是“.NET Framework 4 Client Profile”。
答案 2 :(得分:5)
@ iar,框架没有设置为“错误的”。默认情况下,Visual Studio 2010中的控制台和Windows应用程序(还有更多)定位.NET Framework 4 Client Profile。这是设计使然。当你在New Project Dialog中定位“.NET Framework 4”时会发生这种情况。为什么它没有找到System.Web.dll是因为它不是.NET Framework 4 Client Profile的一部分,所以项目系统找不到它并在构建期间发出警告(您可能忽略了它,授予您引用System.Web.dll中)。您也不会在“添加引用”对话框的“.NET”选项卡中找到System.Web.dll,因为该列表是根据目标框架过滤的。
答案 3 :(得分:4)
如果您使用的是.NET 4.0或更高版本,则可以使用适用于客户端配置文件的WebUtility.UrlEncode(不需要System.Web程序集引用)。
答案 4 :(得分:1)
您需要添加对 System.Web 和 System.Web.Extensions 的引用。
答案 5 :(得分:1)
将项目的目标框架从“.NET Framework 4 Client Profile”更改为“.NET Framework 4.0”帮助我,使用.NET Framework 4 Client Profile作为Target框架,我能够通过浏览添加System.Web 2.0版本来自添加引用窗口的C:\ WINDOWS \ Microsoft.NET \ Framework \ v2.0.50727但对System.Web 4.0 dll执行相同的操作会发出警告。
答案 6 :(得分:1)
对于Visual Studio 2010中的VB项目,将目标框架从“.NET Framework 4.0 Client Profile”更改为“.NET Framework 4.0”的选项位于Project>属性>编译> '高级编译选项......'