Кэш Nuget vs папка глобальных пакетов - PullRequest
0 голосов
/ 28 ноября 2018

Я пытаюсь понять разницу между ними. В этой статье говорится:

Кэш не загружает пакет, уже установленный на компьютере.

Папка с глобальными пакетами позволяет нескольким проектам совместно использовать один и тот же установленный пакет, тем самым уменьшая общую площадь присутствия NuGet на компьютере.

В этой статье говорится немного больше.

При получении запроса на получение пакета NuGet сначала просматривает папку global-packages.Если точной версии пакета нет, NuGet проверяет все источники пакетов, отличные от HTTP.Если пакет все еще не найден, NuGet ищет пакет в http-кэше, если вы не укажете --no-cache с помощью команд dotnet.exe или -NoCache с помощью команд nuget.exe.Если пакет не находится в кеше или кеш не используется, NuGet затем получает пакет по HTTP.

Почему так много поисков, почему несколько мест для хранения пакетов локально?Чего мне не хватает?

1 Ответ

0 голосов
/ 28 ноября 2018

Папка с глобальными пакетами, используемая для хранения установок зависимостей (распакованные пакеты nuget и файл nupkg).Когда несколько проектов используют одну и ту же зависимость, они не будут загружать и распаковывать зависимости, если они уже существуют в этом месте. (Если они используют PackageRefence .)

Htpp-кеш, используемый для хранения загруженныхпакеты nuget на короткое время (30 минут).Единственный раз, когда я думаю, что это будет полезно;когда пакет удаляется из папки глобальных пакетов и проект пытается восстановить тот же пакет, он будет извлечен из http-кэша, а не из удаленного репозитория nuget.

Что касается источников без Http;Вы можете определить папку на вашем компьютере в качестве хранилища nuget.Это место будет содержать файлы nukpg.И Nuget может использовать это местоположение в качестве источника пакетов Nuget (например, локальный репозиторий Nuget)

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