Вопрос: Как предотвратить избыточное восстановление пакетов в nuget после открытия решения в Visual Studio 2017
В настоящее время нет способа явно отключить автоматическое восстановление.Для получения более подробной информации просмотрите следующую ветку:
Как отключить восстановление пакетов NuGet при запуске решения
Восстановление, которое вы видите, происходит Авто-Восстановление , которое будет работать только в проектах на основе SDK.https://docs.microsoft.com/en-us/nuget/consume-packages/package-restore#automatic-restore-in-visual-studio
В настоящее время нет способа явно отключить автоматическое восстановление, но вы можете отключить само восстановление.Обратите внимание, что это отключит все восстановление (при сборке / восстановлении и восстановлении правой кнопкой мыши)
Кроме того, вам не нужно отключать его, проверьте другую причину ниже:
Вопрос: Могу ли я заставить его вести себя более логично и сначала проверить его локально на наличие пакета и восстановить его, только если он не найден?
ЧтоNuget делает именно то, что вы хотите.Проверка:
Принудительное восстановление из источников пакетов :
По умолчанию операции восстановления NuGet используют пакеты из папок global-packages и http-cache.
Итак, восстановление, которое вы видите, когда вы открываете решение, просто проверяет, существуют ли пакеты в глобальных пакетах, если нет, то nuget начинает восстанавливать пакеты.Если пакеты существуют, nuget не выполняет операцию восстановления.И время проверки очень короткое, около десятков мс.Вам не нужно слишком беспокоиться об этом.
Надеюсь, это поможет.