Andrey on .NET | ASP.NET Core: Мета-пакет Microsoft.AspNetCore.App

ASP.NET Core: Мета-пакет Microsoft.AspNetCore.App

ASP.NET Core logoНачиная с ASP.NET Core 2.1 доступен новый мета-пакет NuGet под названием Microsoft.AspNetCore.App. Это замена существующему и использовавшемуся в предыдущих версиях мета-пакету Microsoft.AspNetCore.All. Основной недостаток последнего – большое количество зависимостей, которые он добавлял в проект. Например, одновременно устанавливались Microsoft.Data.Sqlite и Microsoft.EntityFrameworkCore.

Мета-пакет Nuget – это пакет, который не содержит сборок, но содержит список зависимостей. Используется для легкого добавления заданного набора библиотек в проект, т.к. достаточно установить только мета-пакет и все его зависимости будет автоматически загружены и подключены.

Задача нового мета-пакета Microsoft.AspNetCore.App – уменьшить число библиотек, которые он добавляет. Поэтому из списка зависимостей были удалены следующие пакеты:

  • Microsoft.Data.Sqlite
  • Microsoft.Data.Sqlite.Core
  • Microsoft.EntityFrameworkCore.Sqlite
  • Microsoft.EntityFrameworkCore.Sqlite.Core
  • Microsoft.Extensions.Caching.Redis
  • Microsoft.AspNetCore.DataProtection.AzureStorage
  • Microsoft.Extensions.Configuration.AzureKeyVault
  • Microsoft.AspNetCore.DataProtection.AzureKeyVault
  • Microsoft.AspNetCore.Identity.Service.AzureKeyVault
  • Microsoft.AspNetCore.AzureKeyVault.HostingStartup
  • Microsoft.AspNetCore.ApplicationInsights.HostingStartup

Соответственно, все зависимости уже этих пакетов так же не будут установлены.

Как можно заметить, разработчики ASP.NET Core решили избавиться от библиотек, которые не были разработаны ими и не представляют ключевую функциональность.

Microsoft.AspNetCore.App по умолчанию используется в новых проектах ASP.NET Core начиная с версии 2.1. Поддержка старого варианта Microsoft.AspNetCore.All будет продолжаться до конца жизненного цикла версий 2.x. Но при этом рекомендуется обновить существующие проекты и использовать Microsoft.AspNetCore.App. В случае необходимости можно самостоятельно добавить необходимые пакеты из списка выше.

Добавить комментарий