C# 错误CS0234:类型或命名空间名称';脚本';命名空间中不存在';System.Web';
我试图在我的应用程序中使用C# 错误CS0234:类型或命名空间名称';脚本';命名空间中不存在';System.Web';,c#,visual-studio-2010,javascriptserializer,jsonserializer,C#,Visual Studio 2010,Javascriptserializer,Jsonserializer,我试图在我的应用程序中使用JavaScriptSerializer 我最初收到 找不到JavaScriptSerializer 我补充道: using System.Web.Script.Serialization; 但是子关键字Script下面有一条蓝线: 命名空间中不存在类型或命名空间“Script” “System.Web”(是否缺少程序集引用?) 因此,我在项目中添加了以下内容: C:\Program Files(x86)\Reference Assembly\Microsoft\Fr
JavaScriptSerializer
我最初收到
找不到JavaScriptSerializer
我补充道:
using System.Web.Script.Serialization;
但是子关键字Script
下面有一条蓝线:
命名空间中不存在类型或命名空间“Script”
“System.Web”(是否缺少程序集引用?)
因此,我在项目中添加了以下内容:
C:\Program Files(x86)\Reference Assembly\Microsoft\Framework.NETFramework\v4.0\System.Web.Extensions.dll
那没用。我仍然收到同样的蓝色下划线和同样的错误。引用用感叹号黄色警告标记:
我尝试了建议的解决方案,但正如@user781490所示,它们对我的情况没有帮助
你知道怎么解决这个问题吗?我发现了
第一种解决方案(不推荐):
查找.Net Framework 3.5和2.0文件夹
将System.Web.Extensions.dll从3.5和System.Web.dll从2.0复制到应用程序文件夹
添加对这两个程序集的引用
更改引用的程序集属性,将“复制本地”设置为true
和构建来测试您的应用程序,以确保所有代码都能正常工作
第二种解决方案(使用不同的类/库):
发布该问题的用户声称,并帮助他复制了JavaScriptSerializer
的行为
您也可以尝试使用。这是一个第三方库,功能非常强大。我也有同样的功能。脚本已加下划线。我添加了对System.Web.Extensions的引用。此后,脚本不再加下划线。希望这对其他人有所帮助。因为.Net 4.0+中不推荐使用JsonSerializer,所以我用它来解决这个问题
NuGet->Install Package Newtonsoft.Json只需添加对System.Web.Extensions的引用,就可以了。添加System.Web.Extensions作为项目的引用
参考所以您的项目所指向的框架肯定不是客户端配置文件版本,对吗?正如我上面的用户所说,请确保您的项目针对的是.NET 4而不是.NET 4客户端配置文件。@Arran它是
.NET framework 4客户端配置文件
,但是:(1)我对将其转换为.NETFramework 4
不感兴趣。(2) 如果你读了这篇文章,你会注意到那里的提示甚至对那些拥有完整.netframework4
的人都没有帮助。当然,一定有一种方法可以在客户端配置文件中使用JavaScriptSerializer
,对吗?@Tejassarma如果我试图将目标框架从.NET framework 4客户端配置文件更改为.NET framework 4
,我会收到一个警告,我的项目可能会发生可怕的事情。。。因此,当被问到“是否确实要更改此项目的目标框架?”时,我当然会单击No
。您是否尝试删除并重新添加System.Web.Extensions引用?在C:\Program Files(x86)\reference Assemblys\Microsoft\Framework\v3.5
中引用3.5
版本成功了。非常感谢。newtonsoft.json是另一个选项。我添加了对System.Web.Extensions的引用,现在它们都加了下划线