Ответ 1
У меня была такая же проблема, как и вы, и так, как я решил, это удалить папку packages
из моего решения, а также bin
и obj
папки из каждого проекта в решении и дать ему перестройку.
Как включить функцию восстановления пакета nuget в Visual Studio 2015?
Функция просто отсутствует в моем контекстном меню (да - я дважды проверял, что я пытаюсь использовать это решение вместо проекта)
Мой единственный проект - консольное приложение .NET 4.5 - пока нет папки .nuget. Существует установленный пакет nuget.
У меня была такая же проблема, как и вы, и так, как я решил, это удалить папку packages
из моего решения, а также bin
и obj
папки из каждого проекта в решении и дать ему перестройку.
Как оказалось, реальное решение - перейти на автоматическое восстановление пакетов. У нас возникли проблемы с NuGet после перехода на VS 2015 после некоторого времени работы в 2013 году. Оказывается, старый способ сделать NuGet полностью шлангами новый способ сделать это.
Решение прост, хотя и утомительно. По-видимому, файл NuGet.targets сигнализирует VS, чтобы использовать старый способ NuGet делать вещи, и это отсутствие означает, что вы теперь используете "Автоматическое восстановление пакетов". Вы можете перейти на автоматическое восстановление пакетов, выполнив следующие шаги:
<RestorePackages>true</RestorePackages> ... <Import Project="$(SolutionDir)\.nuget\nuget.targets" /> ... <Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild"> <PropertyGroup> <ErrorText>This project references NuGet package(s) that are missing on this computer. Enable NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText> </PropertyGroup> <Error Condition="!Exists('$(SolutionDir)\.nuget\NuGet.targets')" Text="$([System.String]::Format('$(ErrorText)', '$(SolutionDir)\.nuget\NuGet.targets'))" /> </Target>
Существует также powershell script, который будет выполнять миграцию для вас, если вы чувствуете смелость. Вы можете найти его на github.
Для других эта опция доступна в разделе настроек Nuget в параметрах Visual Studio
У меня возникла проблема с восстановлением пакета с ошибкой 401 несанкционированным. Я нашел решение, сняв флажки с доступными локальными источниками пакетов. Отладкa > Параметры > Диспетчер пакетов NuGet > Источники пакетов
Разрешить пакеты nuget.org
Мой Visual Studio 2015 Professional был установлен с использованием настроек по умолчанию. Параметры "Разрешить NuGet для загрузки отсутствующих пакетов" и "Автоматическая проверка отсутствующих пакетов во время сборки в Visual Studio" уже были проверены по умолчанию, но я все еще не мог загрузить пакеты. Я получаю сообщение об ошибке, что версия пакета не найдена.
Мне нужно было установить флажок в разделе Инструменты > Параметры > Диспетчер пакетов NuGet > Источники пакетов, чтобы включить восстановление пакета NuGet для работы, как ожидалось.
У меня возникла проблема с доступом к папке пакетов после запуска Visual Studio 2015 в режиме администратора, поэтому я удалил ее с целью выполнить восстановление.
Но при восстановлении решения восстановление не производилось, и не было пакетов восстановления, которые можно найти на уровне решения или в окне Nuget.
Однако, если вы щелкните правой кнопкой мыши узлы Ссылки в проектах в решении, есть опция Восстановить пакеты. Выполнение этого во всех проектах исправило это для меня.
введите здесь описание изображения
Ну, это довольно просто с VS2015, все, что мне нужно было сделать, это щелкнуть правой кнопкой мыши по моему проектному решению и нажать на восстановление nuget.