NuGet: необходимо ссылаться на неявные зависимости? - PullRequest
2 голосов
/ 26 сентября 2019

Я недавно обновил с ASP.NET Core 2.2.до 3,0.С изменениями, касающимися их метапакетов, я сейчас нахожусь в состоянии, когда все работает, но на некоторые довольно важные пакеты прямо не ссылаются.Все работает, потому что на них косвенно ссылаются.Например:

enter image description here

Вы можете видеть, что я явно ссылаюсь на Microsoft.EntityFrameworkCore.SqlServer, однако я НЕ ссылаюсь на Microsoft.EntityFrameworkCore явно.Это все еще затягивается, потому что это косвенная ссылка, кажется.

Мой вопрос: это разумная конфигурация проекта?Есть ли какое-то преимущество в том, чтобы явно вытягивать Microsoft.EntityFrameworkCore?Я предполагаю, что могут быть последствия с точки зрения обновления версий.

Спасибо ...

1 Ответ

4 голосов
/ 26 сентября 2019

Это разумная конфигурация проекта?

Да.Транзитивные зависимости абсолютно необходимы в проектах в стиле SDK, и, по моему опыту, они значительно упрощают жизнь.

Я бы добавил избыточную ссылку NuGet только для того, чтобы специально обновить этот пакет, и я буду остороженделать это только для небольших релизов.Например, если я использую пакет A v1.0, который зависит от пакета B v1.1, я мог бы добавить зависимость от пакета B для обновления до v1.2, но не до v2.0.

...