在当前上下文中不存在HttpUtility


98

编译C#应用程序时出现此错误。看起来像个小错误,但我无法解决。

我的设置是Windows 7 64位。Visual Studio 2010 C#Express B2Rel。

我添加了对位于的System.Web.dll的引用C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.0,但是它带有黄色的感叹号,并且仍然出现上述错误。我也有using System.Web宣言。

我究竟做错了什么?


更新:在得到提示我根本原因的迅速答案之后,我在Google中进行了一些搜索,搜索到该文件指出System.Web.dll适用于整个框架。我没有找到这样的参考。
对于像我这样的新手,博客很好地总结了框架(客户端和完整)之间的差异。我找不到可以说客户端框架是否支持某个Dll的地方。我想Visual Studio中的感叹号应该是第一个信号...


2
您是否要定位客户资料?
Slaks

Answers:


87

您可能以“客户资料”为目标,该资料System.Web.dll不可用。

您可以在项目的Properties中定位整个框架。


13
答对了!在哪里指定的?我应该在哪里读这本书?谢谢。
Shaihi 2010年

我在“项目属性”中设置了完整的框架,但是问题仍然存在。
Alex Jolig 2015年

@AlexJolig:确保您具有引用和名称空间。
Slaks 2015年

@ blackholeearth0_gmail:有什么问题?您的目标是什么?
凌晨

我将项目从.net2转换为.net4。只是更改目标框架并不能解决问题。我也需要添加dll。在lxk613的答案中对此进行了更好的解释,并显示了解决该问题所需采取的措施。
bh_earth0 2015年

187

您需要添加System.Web参考;

  1. 右键单击解决方案资源管理器中的“参考”
  2. 选择“添加参考”
  3. 选中“ .NET”选项卡。
  4. 搜索并添加“ System.Web”。

使用定位.NET Framework 4.5的VS2012控制台应用程序。这个解决了。
凯尔(Kyle)

即使有了目标,也只能添加参考。由于lxk613
若昂·布鲁诺安博哈特姆·德利兹

答对了!这就是答案。
Alper

我的解决方案资源管理器树不包含“参考”
Paul Gorbas,

如果您使用的是Azure函数,请在文件顶部添加#r“ System.Web”
Irshad Mohamed,

17

SLaks的答案是正确的……但是让我对像我这样的人感到更具体一些,他们对此感到恼火并且无法立即找到它:

项目->属性->应用程序->目标框架->选择“ .Net Framework 4”

然后,该项目将保存并重新加载。


6
即使针对完整框架,我也有错误!虽然添加System.Web.dll作为参考也可以。
SteveCav 2012年

并且显然也要确保添加System.Web或添加System.Web.Mvc到有问题的文件中。
TankorSmash 2012年

15

为了解决这个问题,请转到以下路径

项目->属性->应用程序-> TargetFramework

并将框架更改为“ .NET Framework 4”。

完成此操作后,该项目将关闭并重新打开。

这应该解决错误

(但是由于某种原因,@ Karan Modi的答案没有...)

接下来,在解决方案资源管理器中右键单击“引用”标签,然后选择“添加引用”,

选择“ System.Web”

(通过“使用System.Web;直接声明名称空间;”似乎还不够……您必须将其添加到解决方案资源管理器中……我不明白为什么-这并不奇怪,因为我是一名cobol程序员。


12

在遵循上述答案之后,并做了

项目->属性->应用程序->目标框架->选择“ .Net Framework 4”

直到我进入
Project -> Add Reference
和选择为止,它仍然没有用System.web。一切正常都吸引人。


两年前,有人已经提供了相同的解决方案。在发布自己的解决方案之前,请先检查解决方案。这个问题太旧了,原始的张贴者不太可能注意到您的回答。
Techie

好像是@ lxk613的答案
Shaihi,2016年

8

为了解决这个问题,请转到以下路径

项目->属性->应用程序-> TargetFramework

并将框架更改为“ .NET Framework 4”。

完成此操作后,该项目将关闭并重新打开。

这样可以解决错误。


在Mac上,Target Framework max(感谢mono)是.NET2。我该如何解决?
克里斯M,

4

Agrega System.web上的参考资料。

[编辑]

根据Google翻译的说法,这意味着:

将System.Web添加到项目引用。


1

我遇到了同样的问题,我从Microsoft.NET框架复制了web.dll,然后粘贴到项目的根目录中,然后将dll引用添加到应用程序中,



By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.