我正在尝试在我的应用程序中使用JavaScriptSerializer
。
我最初收到了
找不到JavaScriptSerializer
我通过添加:
解决了这个问题using System.Web.Script.Serialization;
但是,子关键字Script
带有蓝线下划线:
命名空间中不存在类型或命名空间“脚本” 'System.Web'(您是否缺少程序集引用?)
所以我在项目中添加了一个引用:
C:\ Program Files(x86)\ Reference Assemblies \ Microsoft \ Framework.NETFramework \ v4.0 \ System.Web.Extensions.dll
这没有帮助。我仍然收到相同错误的蓝色下划线。引用标有感叹号黄色警告:
我在this thread上尝试了建议的解决方案,但正如@ user781490所示,他们在我的情况下没有帮助。
知道如何解决这个问题吗?
答案 0 :(得分:36)
我也一样。脚本被强调了。我添加了对System.Web.Extensions的引用。此后,脚本不再加下划线。希望这有助于某人。
答案 1 :(得分:16)
答案 2 :(得分:12)
我找到了this MSDN forum post which suggests two solutions to your problem。
第一种解决方案(不推荐):
找到.Net Framework 3.5和2.0文件夹
将System.Web.Extensions.dll从3.5和System.Web.dll从2.0复制到应用程序文件夹
添加对这两个程序集的引用
更改引用的程序集属性,设置"复制本地"为真 并构建以测试您的应用程序,以确保所有代码都能正常工作
第二种解决方案(使用不同的类/库):
发布问题的用户声称Uri.EscapeUriString
和How to: Serialize and Deserialize JSON Data帮助他复制了JavaScriptSerializer
的行为。
您也可以尝试使用Json.Net。它是第三方图书馆,非常强大。
答案 3 :(得分:7)
只需添加对System.Web.Extensions的引用即可。
答案 4 :(得分:1)
由于JNetSerializer在.Net 4.0+中已弃用,我使用http://www.newtonsoft.com/json来解决此问题。
NuGet->安装包Newtonsoft.Json