Если некоторые пакеты, которые вы используете (и все еще хотите использовать), более недоступны, я предлагаю вам сделать их резервную копию.
Найдите кэш Nuget на вашем сервере.В Windows он находится по адресу
% userprofile% .nuget \ packages
Найдите пакеты (и версию), которые вы хотите сделать резервную копию, и скопируйте файлы .nupkg
вих соответствующие папки.
Тогда у вас есть два варианта:
- Создать личный канал Nuget
- Создать локальный канал Nuget onваша машина разработки
Преимущество первого варианта заключается в том, что он может быть единственным источником, который можно использовать на любой машине, которую вы хотите (машина разработки, сервер сборки и т. д.), но у вас будет большевверх, особенно для аутентификации / авторизации (потому что это личный канал)
Для 2-го варианта: просто создайте папку C:/Nuget
и укажите любую .nupkg
, какую вы хотите.Затем в Visual Studio перейдите к:
Инструменты -> Диспетчер пакетов Nuget -> Настройки диспетчера пакетов -> Источники пакетов
Нажмите зеленую кнопку +
, чтобы добавитьновый источник, просто дайте ему имя Local
и перейдите к C:/Nuget
, чтобы установить источник.
С этого момента, когда вы захотите восстановить пакеты Nuget, Visual Studio будет сначала просматривать nuget.org
feed, и если он не найдет указанные пакеты, он будет просматривать ваш локальный канал и кэшировать установленный пакет на %userprofile%.nuget\packages
вашего компьютера.
Я надеюсь, что ответ на ваш вопрос, яЯ не совсем уверен в том, что вы спросили, и в ваших знаниях о Nuget.
ОБНОВЛЕНИЕ:
Мне кажется, теперь я понимаю ваш вопрос лучше.
Прежде всего, я думаю, вы неправильно поняли команду Update-Package -Reinstall
.Он переустановит пакеты с той же версией, на которую уже ссылались, но просто переустановит их.Это полезная команда, например, когда вы меняете целевую структуру вашего проекта.Затем вы можете переустановить те же версии пакетов, и они перенастроят эту версию .NET Framework.
Так что, если nuget restore
не работает, то Update-Package -Reinstall
, очевидно, тоже потерпит неудачу.
В Nuget, когда что-то не работает, вы не должны настаивать, а вместо этого найти настройку, которая заставит его снова работать.Я не могу сосчитать, сколько раз я обращался к разным кэшам, чтобы удалить некоторые кэшированные пакеты.
Я думаю, вам следует попробовать использовать nuget restore
и посмотреть, какие пакеты вызывают проблемы, а затем удалить эти пакеты (этопросто удалите ссылку из .csproj
и packages.config
, если они еще не установлены в проекте), тогда вы, наконец, сможете установить самую новую версию этих пакетов.