Включить восстановление пакета NuGet на Visual Studio 2013
Я следую этому легкому учебнику, чтобы начать кодирование с помощью API Google+ на С#. Тем не менее, я застрял часами на шаге 3, где первые подшарики:
- В Visual Studio выберите "Проект" > "Включить восстановление пакета NuGet" > "Да" в диалоговом окне.
- Щелкните правой кнопкой мыши проект gplus-quickstart-csharp и выберите "Управление пакетами NuGet".
- Нажмите "Восстановить" в окне "Управление пакетами NuGet". Это установит клиентские библиотеки Google API.
Когда я нажимаю на Projet, нет опции "Включить восстановление пакета NuGet".
Существует опция Manage Nuget Packages, но нет кнопки Restore или опции.
Проект не строится и дает мне ошибку:
Ошибка 1 Этот проект ссылается на пакеты NuGet, отсутствующие в этот компьютер. Включите восстановление пакета NuGet, чтобы загрузить их. Для дополнительную информацию см. http://go.microsoft.com/fwlink/?LinkID=322105. Отсутствующий файл C:\Users\Documents\Google +\Gplus-QUICKSTART-Csharp \.nuget\NuGet.targets. C:\Users\Documents\google +\gplus-quickstart-csharp\gplus-quickstart-csharp\gplus-quickstart-csharp.csproj 201 5 gplus-quickstart-csharp
Я пошел на веб-сайт Microsoft и переадресовывал его только в документацию NuGet, где я не нашел ничего, что работает. Я попробовал следующие команды (описанные в примерах):
- D:\projects\contoso > восстановление nuget.exe
- D:\projects\contoso > nuget.exe restore contoso.sln
- D:\projects > nuget.exe restore contoso
но безрезультатно. И да, установлен NuGet. Есть идеи? Спасибо!
Ответы
Ответ 1
Чтобы найти пункт меню: "включить восстановление пакета nuget", щелкните правой кнопкой мыши в проводнике решений в решении - не на проекте.
Вы получаете сообщение:
Вы хотите настроить это решение для загрузки и восстановления отсутствующих пакетов NuGet во время сборки?
Разве это не то, что вы искали?
Ответ 2
Вы не хотите использовать восстановление пакета nuget на основе проекта!
Убедитесь, что у вас установлена последняя версия Nuget (Инструменты → Расширения и обновления)
Когда вы идете построить проект, он должен сказать вам, что ему нужно загрузить пакеты nuget (или просто загрузить их автоматически).
Изменить не уверен, что с downvotes:
http://blog.davidebbo.com/2014/01/the-right-way-to-restore-nuget-packages.html
То, что команда NuGet теперь рекомендует, намного чище и намного проще. Короче говоря, вы ничего особенного не делаете, и это происходит просто! Это потому, что NuGet теперь всегда восстанавливает пакеты перед созданием в VS. Поэтому никаких изменений в ваших файлах не требуется, что красиво!
Поскольку у людей все еще есть проблемы с редактированием, чтобы включить дополнительную информацию:
https://docs.nuget.org/consume/package-restore#common-issues-with-automatic-package-restore
Ответ 3
Переименуйте папку .nuget, затем щелкните правой кнопкой мыши свое решение. Включить восстановление пакета Nuget должно быть видно.
Ответ 4
Я думаю, вы просто хотите знать, где включить "Разрешить Nuget для загрузки отсутствующих пакетов"
В VS2013:
Щелкните правой кнопкой мыши по проекту
Выберите "Управление пакетами NuGet для решения"
Затем нажмите "Настройки",
в новом диалоговом окне щелкните на корневом уровне "Управление диспетчером пакетов NuGet"
Tick /Untick "Разрешить NuGet загружать отсутствующие пакеты"
Ответ 5
У меня была эта проблема и я нашел исправление, которое может или не может работать для вас. Мне пришлось редактировать файлы csproj, потому что они указывали на неправильные или несуществующие папки пакетов.
Найдите ссылочные пути в файле csproj и убедитесь, что путь к папке пакетов верен:
<HintPath>..\packages\path\to\file.dll</HintPath>
Возможно, из-за необычной настройки папки, которая должна быть ..\..\packages
. Кроме того, к вершине, NuGet добавляет эту строку:
<SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\</SolutionDir>
Если вам нужно было отредактировать свои HintPaths, вам, вероятно, также нужно будет отредактировать это. В моем примере вы измените значение на ..\..\
. Наконец, внизу NuGet добавляет цель с именем EnsureNuGetPackageBuildImports
. Вы увидите несколько атрибутов с путями ..\packages
в них. Снова используя мой пример, вам придется изменить это на ..\..\packages
. Основой для всех этих значений является, конечно, папка, содержащая файл csproj.
Это может быть необычным для того, чтобы ваши пути к папкам настраивались не по умолчанию, но мои были, и эта информация была бы полезной для меня.
Ответ 6
Если вы щелкните правой кнопкой мыши по проекту и не видите вариант "Включить восстановление пакета Nuget", причина, по которой вы не смотрите этот параметр, заключается в том, что у вас нет последней версии пакета nuget, установленной в Visual Studio.
Следующие шаги покажут вам, как установить соответствующий пакет nuget для используемой версии Visual Studio.
Нажмите "Инструменты" > "Расширения и обновление". Диалоговое окно "Расширения и обновление"
появляются. Нажмите онлайн в левом столбце диалога. Вы должны увидеть первый пакет в списке "Диспетчер пакетов Nuget для Visual Studio 2013. Нажмите кнопку" Загрузить "для установки. Затем вам может понадобиться перезапустить Visual Studio.
Теперь откройте свое решение и щелкните правой кнопкой мыши на имени решения. Теперь вы должны увидеть всплывающее окно с запросом, хотите ли вы восстановить пакеты для этого решения. Если вы выберете "да", то в любое время, когда вы создадите решение nuget, вы попытаетесь загрузить и соответствующие пакеты, которые использует ваше решение.
Ответ 7
В моей ситуации я только что создал новое решение, и файл решения еще не был сохранен. Убедитесь, что решение сохранено до "Включение восстановления пакета Nuget"