Включить восстановление пакетов NuGet больше нет в VS 2015

У меня серьезные проблемы с получением решений для сборки в Visual Studios 2015. Раньше я просто нажимал «Включить восстановление пакета NuGet» в Visual Studio 2013, и все было в порядке.

Я вижу тот же вопрос how-to-enable- nugets-package-restore-in-vs-2015

ответ был:

удалите папку пакетов из моего решения, а также папки bin и obj из каждого проекта в решении и перестройте его.

извините за мой французский, но кроме того, что это ерунда. Тот факт, что вы должны вручную заходить в каждый отдельный проект в своем решении и возиться, это также не работает для меня. Может быть, у парня, который написал это, было 3 или 4 проекта, у меня есть ссылки на 30+.

Это было еще в июне, кто-нибудь нашел работающий или более простой способ реализовать эту функциональность, которая отлично работала до VS 2015?


person Scott Selby    schedule 30.10.2015    source источник
comment
Первоначальная концепция восстановления пакетов nuget была плохо продумана и представляла собой гигантскую ошибку... как и большинство вещей, которые делает Microsoft. Последующий эффект заключается в том, что вам нужно ожидать масштабных критических изменений, когда они осознают, насколько плохая идея была у них в предыдущей итерации.   -  person Jeff    schedule 30.10.2015
comment
да, но способ, которым большинство исходных кодов по умолчанию игнорирует большинство ссылок, которые вам нужны, то, что все они были извлечены при сборке, действительно сработало. Было ли это хорошо или нет, или хорошо продумано, или нет, по крайней мере, это сработало, теперь мне нужно открыть решение с VS 2013, пусть VS извлекает все ссылки, тогда я могу использовать VS 2015 с этим решением, это просто ужасно.   -  person Scott Selby    schedule 30.10.2015
comment
Откройте все файлы проекта в редакторе, таком как notepad ++, и просто замените строку NuGet.targets пустой, и тогда вы свободны от восстановления пакетов на основе MSBuild и должны использовать nuget restore your solution для их восстановления в командной строке или непосредственно VS.   -  person Lex Li    schedule 30.10.2015
comment
Второй ответ на вопрос, на который вы ссылались имеет (используйте на свой страх и риск) ссылку для автоматизации шагов, упомянутых @LexLi   -  person Mike    schedule 30.10.2015


Ответы (1)


Этот параметр включен по умолчанию, начиная с NuGet 2.7. Используйте небольшой сценарий Powershell для миграции из старый MSBuild на автоматическое восстановление 2.7, чтобы устранить проблемы.

Когда пакет не установлен, вы видите это диалоговое окно в начале процесса сборки, где NuGet восстанавливает отсутствующий пакет:

введите здесь описание изображения

person magicandre1981    schedule 30.10.2015
comment
Похоже, это сработает, поскольку параметр NuGet «Автоматически проверять отсутствующие пакеты во время сборки» установлен по умолчанию… насколько я видел, это ничего не делает. Это не то же самое, что нажать старую опцию «Включить восстановление пакета NuGet», которая раньше была там. - person Scott Selby; 30.10.2015
comment
этот параметр SET включен по умолчанию, и если он вам не нравится, вы можете отказаться от него. Оно хочет, ты хочешь. Когда вы пытаетесь создать решение, вы видите это диалоговое окно: i.stack.imgur.com/EVHfl. png - person magicandre1981; 31.10.2015