【问题标题】:HttpUtility.UrlEncode in console application控制台应用程序中的 HttpUtility.UrlEncode
【发布时间】:2011-01-09 21:58:33
【问题描述】:

我想在控制台应用程序、VB.NET、VS 2010 Beta 2 中使用 HttpUtility.UrlEncode。

System.Web.HttpUtility.UrlEncode(item)

错误消息:“HttpUtility”不是“Web”的成员。

this questionAnjisan建议添加对System.Web的引用,如下:

  1. 在您的解决方案资源管理器中,右键单击引用
  2. 选择“添加参考”
  3. 在“添加引用”对话框中,使用 .NET 选项卡
  4. 向下滚动到 System.Web,选择它,然后点击确定

但是,我在该位置没有 System.Web 条目。

【问题讨论】:

标签: .net vb.net visual-studio-2010 console-application urlencode


【解决方案1】:

如果您使用的是 .NET 4.0 或更高版本,您可以使用WebUtility.UrlEncode,它适用于客户端配置文件(不需要 System.Web 程序集引用)。

【讨论】:

  • 这是更好的解决方案。
【解决方案2】:

对于 Visual Studio 2010 中的 VB 项目,将目标框架从“.NET Framework 4.0 Client Profile”更改为“.NET Framework 4.0”的选项位于“项目”>“属性”>“编译”>“高级编译选项...”下

【讨论】:

    【解决方案3】:

    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;转到项目>>属性...>>应用程序选项卡

    【讨论】:

    • 我还是找不到。我只有“System.Web.ApplicationServices”和“System.Web.Services”。您使用的是哪个版本的 Visual Studio / .NET?
    • 我用VS2010b2测试过;你把那个列表排序了吗?你定义了什么项目类型、框架版本?
    • 你应该将你的目标框架从.NET Framework 4 Client Profile替换为.NET Framework 4;去Project, {0} Properties..., Application tab
    • 在 Visual Studio 2010 中,默认项目是“4.0 客户端配置文件”,所以它没有“错误”。
    • 您然后(从客户端配置文件的正确默认控制台应用程序 .net 配置更改为 .net 框架 4 后)必须单击引用并添加 System.Web,然后将不再收到错误消息。
    【解决方案4】:

    将项目的目标框架从“.NET Framework 4 Client Profile”更改为“.NET Framework 4.0”对我有帮助,使用 .NET Framework 4 Client Profile 作为目标框架,我能够通过浏览添加 System.Web 2.0 版本C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727 来自添加参考窗口,但对 System.Web 4.0 dll 执行相同操作会发出警告。

    【讨论】:

      【解决方案5】:

      确保您的目标框架是“.NET Framework 4”而不是“.NET Framework 4 Client Profile”。

      【讨论】:

      • 这是正确答案,但您可能需要明确添加System.Web 作为参考(在项目> 添加参考下)
      【解决方案6】:

      @iar,框架没有设置为“错误的”。默认情况下,控制台和 Windows 应用程序(还有更多)在 Visual Studio 2010 中以 .NET Framework 4 客户端配置文件为目标。这是设计使然。当您在新项目对话框中定位“.NET Framework 4”时,就会发生这种情况。为什么它没有找到 System.Web.dll 是因为它不是 .NET Framework 4 客户端配置文件的一部分,因此项目系统找不到它并在构建时发出警告(您可能忽略了,授予您引用System.Web.dll)。您也不会在“添加引用”对话框的 .NET 选项卡中找到 System.Web.dll,因为该列表是根据目标框架过滤的。

      【讨论】:

        【解决方案7】:

        您需要添加对 System.WebSystem.Web.Extensions 的引用。

        【讨论】:

        • 我只需要添加对 System.Web 的引用。尽管 System.Web 在 Imports 中已经提到并且没有错误,但显式添加对它的引用修复了它
        猜你喜欢
        • 2010-11-04
        • 1970-01-01
        • 1970-01-01
        • 2011-01-22
        • 2012-06-20
        • 2015-08-23
        • 2019-01-30
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多