问题
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.
回答1:
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>
回答2:
Here I just want to know how to add assembly.
In general, you would have nodes like this in your .csproj
:
<Reference Include="System.Web.Extensions" />
However, since you are using .NET Core, you cannot reference assemblies that are targeted to the full .NET Framework. In this case, System.Web.Extensions
is one of those, so you cannot use it in your .NET Core project.
回答3:
dotnet restore
dotnet restore - Restores the dependencies and tools of a project.
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 More Help here
来源:https://stackoverflow.com/questions/45687851/how-to-add-system-web-extensions-assembly-to-net-core-project-in-vscode