Лучшие практики для ссылок на переходные пакеты в NuGet - PullRequest
0 голосов
/ 24 апреля 2019

Я относительно новичок в новом формате проекта .NET и искал мнения о том, как лучше управлять зависимостями библиотеки.

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

В файле csproj моей библиотеки я могу добавить ссылку на Microsoft.AspNet.Core и с радостью использовать все, что от него требуется, или любые его переходные зависимости.

Альтернативным подходом было бы явное добавление ссылок для каждой части AspNet.Core, которую я использую, так как я начинаю использовать типы из этих пакетов. Например, чтобы добавить ссылку на пакет к Microsoft.AspNetCore.Http.Abstractions, я впервые использую HttpContext.

Мне кажется, что последний подход предпочтительнее. Он обеспечивает более четкое описание фактических зависимостей моего пакета и не подвержен разрыву так же, как ссылка Microsoft.AspNet.Core может быть при обновлении до версии, которая может удалить Microsoft.AspNetCore.Http.Abstractions из его графа переходных зависимостей.

Если общий консенсус действительно является последним подходом, описанным выше, есть ли способ обеспечить такое поведение? Например, из-за сбоя сборки, если проект ссылается на типы в транзитивной зависимости?

Действительно интересно услышать все мысли об этом!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...