【问题标题】:Can't reference System.Web in a console App无法在控制台应用程序中引用 System.Web
【发布时间】:2012-07-06 18:00:42
【问题描述】:

我需要在控制台应用程序中使用 HttpUtility,如本问题 UrlEncode through a console application? 中所述

问题是,由于某些奇怪的原因,当我尝试添加引用并转到 .NET 选项卡时,我看不到 System.web,而且当我转到最近并选择 System.Web 时,它添加了参考,但带有黄色感叹号。

怎么了,我知道这是小事……

【问题讨论】:

  • 什么语言? C#?您的目标是哪个框架版本?
  • 当您将光标放在黄色标记上时,它会说什么?
  • @Asdfg 没有工具提示,我不知道为什么会显示它。
  • 检查文件是否存在于该位置,假设您选择了默认安装路径:c:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\System.Web.dll。还可以右键单击您的项目,看看您的项目针对的是什么框架?我认为它将是 .Net 框架 4.0,但仔细检查不会有什么坏处。
  • @jeffrey_t_b 请将您的评论转换为答案,以便我接受。不知道为什么,但是当我创建控制台应用程序时,默认情况下它将 TargetFramework 设置为 .NET Framework 4 Client Profile。当我将其更改为 .NET Framework 4 时,一切都得到了解决。我不知道 .NET Framework 4 客户端配置文件是什么,也不知道为什么它是默认选择,但我想这是我每分钟都在经历的典型 Microsoft 愚蠢行为。

标签: .net visual-studio-2010 visual-studio


【解决方案1】:

Microsoft 为 .Net 框架提供了一个特殊的“客户端配置文件”,以便应用程序开发人员可以制作更小/更快的部署包。尽管客户端配置文件包含许多简单的 .Net 应用程序可能需要的东西(CLR、Windows 窗体等),但奇怪的是它不包含 System.Web 的东西。

请参阅http://msdn.microsoft.com/en-us/library/cc656912.aspx,了解有关框架的“客户端配置文件”版本所包含内容的更多信息。

正如您所发现的,您只需将 TargetFramework 更改为普通的 .Net Framework 4(在项目属性窗口中),您就可以访问您需要的所有功能。

【讨论】:

    【解决方案2】:

    您需要更改目标框架配置文件:从客户端到完整(在 VS 项目属性窗口)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-03-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-08-22
      • 2013-07-09
      • 2020-11-19
      • 1970-01-01
      相关资源
      最近更新 更多