Пакеты Nuget существуют, но отсутствуют ссылки

После ветвления в TFS VS2015 Update 2 не имеет ссылок на все пакеты Nuget. Восстановление пакета говорит: "Все пакеты, перечисленные в пакетах.config, уже установлены".

Я мог бы вручную добавить ссылки на все пакеты в папке \packages, но почему VS не проверяет там?

Ответ 1

Вам нужно использовать командную строку NuGet в консоли диспетчера пакетов:

Update-Package -reinstall

принудительно переустановить ссылки на пакеты в проект.

NuGet Restore восстанавливает только файлы в каталоге пакетов (папка\packages), но не восстанавливает файлы внутри вашего проекта или иным образом модифицирует ваш проект. Например, если в ваш проект добавлены некоторые ссылочные DLL или другие файлы, если вы удалите любой из этих файлов, они не будут добавлены повторно при восстановлении этого пакета. Это может привести к тому, что ваш проект не сможет найти недостающие зависимости при создании.

Поэтому используйте команду "Обновить пакет -reinstall", чтобы принудительно переустановить ссылки на пакеты и файлы содержимого в проект.

Ответ 2

как было найдено для VS2013 от Shivam (fooobar.com/info/10492424/...), мое решение в VS2017 состояло в том, чтобы очистить кеш Nuget от: Options → NugetPackageManager → Clear All NuGet Cache (s)