2017-08-15 68 views
0

我已经安装了vscode的c#支持(版本为1.15.0)并通过dotnet new console创建了一个HelloWorld项目。如何将`System.Web.Extensions`程序集添加到vscode中的.net核心项目

现在在Program.cs,我想使用JavaScriptSerializer类,这取决于System.Web.Extensions大会。我输入using System.Web.Script.Serialization;并运行dotnet restore,但vscode无法解析它。该错误是,

类型或命名空间名称“网络”不存在命名空间 “系统”存在(是否缺少程序集引用?)

似乎System.Web不是一部分的.net核心,但有什么办法可以将程序集添加到项目中?

我找不到project.json文件,因为它是一个csproj项目,所以在其他文章中提到过。

+1

为什么不使用Newtonsoft.Json进行序列化? – koelkastfilosoof

+0

@koelkastfilosoof其实我正在使用Newtonsoft.Json进行序列化。在这里我只想知道如何添加组件。 –

+0

请记住点赞回答以及[接受答案](https://meta.stackexchange.com/a/5235/141542),以解决您的问题,将此问题标记为已解决。 – poke

回答

1

System.Web.Extensions充满了.NET Framework的一部分。如果你想序列化和反序列化对象,你可以使用Newtonsoft.Json

#using Newtonsoft.Json 
.... 
JsonConvert.DeserializeObject(json); 

更新

从的NuGet刚刚获得包名称和版本号,并添加到.csproj的然后保存。系统将提示您运行将导入新软件包的还原。

<ItemGroup> 
    <PackageReference Include="Newtonsoft.Json" Version="9.0.1" /> 
    </ItemGroup> 
+0

但我想知道如何在vscode中添加像'System.Web.Extensions'或其他的程序集。 –

+0

你可以使用dotnet cli dotnet添加包Newtonsoft.Json –

+0

只是不要使用'System.Web'。 .Net Core被设计为独立于平台。 System.Web是Windows本机。正如Santosh已经指出的:使用Json.Net – Marco

-1

dotnet恢复

dotnet恢复 - 恢复项目的依赖关系和工具。

dotnet restore [<ROOT>] [--configfile] [--disable-parallel] [--ignore-failed-sources] [--no-cache] [--no-dependencies] [--packages] [-r|--runtime] [-s|--source] [-v|--verbosity] 
dotnet restore [-h|--help] 

更多的帮助More Help here

1

在这里,我只是想知道如何添加组件。

一般情况下,你会喜欢这个节点在.csproj

<Reference Include="System.Web.Extensions" /> 

然而,由于您使用的是.NET的核心,你可以被定位到完整的.NET不参考组件框架。在这种情况下,System.Web.Extensions就是其中之一,所以你不能在你的.NET Core项目中使用它。

+0

你明白了...感谢您的解释 –

相关问题