How to add `System.Web.Extensions` assembly to .net core project in vscode

39ecneret picture 39ecneret · Aug 15, 2017 · Viewed 29.2k times · Source

I have installed c# support for vscode(version is 1.15.0) and created a HelloWorld project via dotnet new console.

Now in Program.cs, I would like to use JavaScriptSerializer class which depends on System.Web.Extensions assembly. I typed using System.Web.Script.Serialization; and run dotnet restore ,but vscode cannot resolve it. The error is,

The type or namespace name 'Web' does not exist in the namespace 'System' (are you missing an assembly reference?)

It seems that System.Web is not part of .net core, but is there any way to add the assembly to the project?

I cannot find a project.json file which is refered in other posts since it is a csproj project.

Answer

santosh singh picture santosh singh · Aug 15, 2017

System.Web.Extensions is part of full .net framework . If you want to serialize and deserialize object,You can use Newtonsoft.Json,

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

Update

Just get package name and version number from NuGet and add to .csproj then save. You will be prompted to run restore that will import new packages.

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