错误CS0234:命名空间"System.Web"中不存在类型或命名空间名称"Script"

sca*_*moi 36 c# visual-studio-2010 jsonserializer javascriptserializer

我想JavaScriptSerializer在我的应用程序中使用.

我最初收到了

找不到JavaScriptSerializer

我通过添加以下内容解决了

using System.Web.Script.Serialization;
Run Code Online (Sandbox Code Playgroud)

但是后面的子关键字Script用蓝线加下划线:

名称空间'System.Web'中不存在类型或命名空间'Script'(您是否缺少程序集引用?)

所以我在项目中添加了一个引用:

C:\ Program Files(x86)\ Reference Assemblies\Microsoft\Framework.NETFramework\v4.0\System.Web.Extensions.dll

这没有用.我仍然收到相同错误的蓝色下划线.引用标有感叹号黄色警告:

在此输入图像描述

我在这个帖子上尝试了建议的解决方案,但正如@ user781490指出的那样,他们在我的情况下没有帮助.

知道如何解决这个问题吗?

Cos*_*iou 37

我有同样的.脚本被强调了.我添加了对System.Web.Extensions的引用.此后,脚本不再加下划线.希望这有助于某人.

  • 我添加了对System.Web.Extensions的引用,现在它们都加下划线 (3认同)

小智 17

添加System.Web.Extensions作为项目的引用

在此输入图像描述

对于参考

  • 请添加有关如何访问此菜单的步骤。 (2认同)

Tej*_*rma 12

我发现这个MSDN论坛帖子提出了两个问题的解决方案.

第一个解决方案(不推荐):

找到.Net Framework 3.5和2.0文件夹

将System.Web.Extensions.dll从3.5和System.Web.dll从2.0复制到应用程序文件夹

添加对这两个程序集的引用

更改引用的程序集属性,将"Copy Local"设置为true并构建以测试应用程序以确保所有代码都能正常工作

第二种解决方案(使用不同的类/库):

发布问题的用户声称Uri.EscapeUriString并且如何:序列化和反序列化JSON数据帮助他复制了行为JavaScriptSerializer.

您也可以尝试使用Json.Net.这是第三方图书馆,非常强大.

  • 在`C:\ Program Files(x86)\ Reference Assemblies\Microsoft\Framework\v3.5`中引用`3.5`版本就可以了.谢谢! (4认同)

Usm*_*man 7

只需添加对System.Web.Extensions的引用即可.