Как добавить сборку "System.Web.Extensions" в проект ядра.net в vscode

Я установил поддержку С# для vscode (версия 1.15.0) и создал проект HelloWorld через dotnet new console.

Теперь в Program.cs я хотел бы использовать класс JavaScriptSerializer который зависит от сборки System.Web.Extensions. Я набрал using System.Web.Script.Serialization; и запустить dotnet restore, но vscode не может его решить. Ошибка,

Тип или имя пространства имен "Веб" не существует в пространстве имен "Система" (вам не хватает ссылки на сборку?)

Похоже, что System.Web не является частью ядра.net, но есть ли способ добавить сборку в проект?

Я не могу найти файл project.json который упоминается в других сообщениях, поскольку это проект csproj.

Ответ 1

System.Web.Extensions является частью полной инфраструктуры.net. Если вы хотите сериализовать и десериализовать объект, вы можете использовать Newtonsoft.Json,

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

Обновить

Просто получите имя пакета и номер версии из NuGet и добавьте в.csproj, затем сохраните. Вам будет предложено запустить восстановление, которое будет импортировать новые пакеты.

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

Ответ 2

Здесь я просто хочу знать, как добавить сборку.

В общем, у вас были бы такие узлы в вашем .csproj:

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

Однако, поскольку вы используете.NET Core, вы не можете ссылаться на сборки, предназначенные для полной.NET Framework. В этом случае System.Web.Extensions является одним из них, поэтому вы не можете использовать его в своем проекте.NET Core.

Ответ 3

восстановление dotnet

dotnet restore - восстанавливает зависимости и инструменты проекта.

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

Дополнительная помощь Подробнее