|
Требование: Поскольку проект использует пакеты из частного репозитория nuget, ему часто приходится выкладывать свежий код в частный репозиторий, при этом номер версии остается неизменным, и каждый раз, когда проект ссылается на эти пакеты, ему приходится очищать их и заново загружать ссылки в репозиторий.
Это можно сделать с помощью команды vs - options - nuget package manager - clear all nuget caches.
Также можно очистить все кэши пакетов nuget из командной строки следующим образом (не проверено):
Затем очистить решение и перегенерировать проект, что прекрасно!
Но что, если я хочу очистить только те имена пакетов, которые содержат itsvse, и не хочу очищать все пакеты?
Когда я попытался восстановить пакеты nuget после удаления пакетов из папки C:\Users\itsvse_nuc\.nuget\packages и размещения новых пакетов в репозитории, я обнаружил, что содержимое пакетов осталось таким же, как и в старой версии кода!!!!. После размещения нового пакета в репозитории и восстановления пакета nuget я обнаружил, что содержимое пакета по-прежнему соответствует старой версии кода! Репозиторий, в который был помещен новый пакет, при восстановлении пакета nuget обнаружил, что содержимое пакета по-прежнему является старой версией кода!!!!
Оказывается, нужно не только очистить содержимое папки глобального кэша nuget, но и очистить кэш NuGet HTTP.
Очистка HTTP-кэша NuGet C:\Users\itsvse_nuc\AppData\Local\NuGet\v3-cache
Очистка папки глобальных пакетов NuGet C:\Users\itsvse_nuc\.nuget\packages
Очистка кэша NuGet Temp C:\Users\itsvse_nuc\AppData\Local\Temp\NuGetScratch
Очистка кэша плагинов NuGet C:\Users\itsvse_nuc\AppData\Local\NuGet\plugins-cache CMD-скрипт выглядит следующим образом:
(Конец)
|
Предыдущая: NET/C# очередь сообщений операции Kafka [с исходным кодом].Следующая: CMD получает абсолютный путь к текущему каталогу
|