В стеке есть похожий пост, но он не помогает с моей проблемой, возможно, потому что я использую Visual Studio 2015.
Как я могу получить параметр «Включить восстановление пакета NuGet» в VS2015?
Я выбрал «Файл»> «Новый проект» и создал пустое веб-приложение ASP.NET . Я ищу этот пункт меню.
Я должен упомянуть, что я искал любые уже существующие файлы nuGet в папке моего проекта, и их нет.
Ответы:
Это заняло слишком много времени, но я, наконец, нашел этот документ по миграции интегрированных решений MSBuild для автоматического восстановления пакетов, и я смог решить проблему, используя методы, описанные здесь.
'.nuget'
каталог решения вместе с решениемnuget.targets
из ваших.csproj
или.vbproj
файлов. Хотя документ официально не поддерживается, он ссылается на скрипт PowerShell, если у вас есть много проектов, которые необходимо очистить. Я вручную отредактировал свой, поэтому я не могу дать никаких отзывов относительно моего опыта работы с ним.Когда вы редактируете свои файлы вручную, вот что вы будете искать:
Файл решения (.sln)
Файл проекта (.csproj / .vbproj)
источник
Microsoft прекратила поддержку «Включить восстановление пакета NuGet» в VS2015, и вам необходимо внести некоторые изменения вручную, чтобы либо перенести старые решения, либо добавить функцию в новые решения. Новая функция довольно хорошо описана в Восстановлении пакета NuGet .
Здесь также есть руководство по миграции для существующих проектов (как упоминалось ранее): Руководство по миграции NuGet
При обновлении:
При создании нового проекта:
Создайте файл в каталоге .nuget с именем nuget.config.
Добавьте «nuget.config» в каталог решений, созданный на шаге 2.
Поместите следующий текст в файл nuget.config:
<?xml version="1.0" encoding="utf-8"?> <configuration> <config> <add key="repositorypath" value="$\..\..\..\..\Packages" /> </config> <solution> <add key="disableSourceControlIntegration" value="true" /> </solution> </configuration>
Этот файл конфигурации позволит вам объединить все ваши пакеты в одном месте, чтобы в вашей файловой системе не было 20 разных копий одного и того же пакета. Относительный путь будет меняться в зависимости от архитектуры каталога вашего решения, но он должен указывать на каталог, общий для всех ваших решений.
Вам нужно перезапустить Visual Studio после выполнения шага 5. Nuget не распознает изменения, пока вы не сделаете это.
Наконец, вам, возможно, придется использовать «Диспетчер пакетов Nuget для решений», чтобы удалить, а затем переустановить пакеты. Я не знаю, было ли это побочным эффектом скрипта Powershell, который я запустил, или просто способом вернуть NuGet в рабочее состояние. После того, как я выполнил все эти шаги, моя сложная архитектура сборки работала без сбоев при выводе новых пакетов, когда я проверял проекты из TFVC.
источник
При желании вы можете удалить все папки из папки «пакеты» и выбрать «Управление пакетами NuGet для решения ...». В этом случае кнопка «Восстановить» появляется в пакетах NuGet Windows.
источник
Как уже упоминалось Майком, в VS2015 нет опции «Включить восстановление пакета NuGet». Вам нужно будет запустить процесс восстановления вручную. Хороший способ - не связываться с файлами и каталогами - использовать консоль управления пакетами NuGet : щелкните в поле «Быстрый запуск» (обычно в верхнем правом углу), введите
console
, откройте консоль управления и введите команду:Это переустановит все пакеты всех проектов в вашем решении. Чтобы указать один проект, введите:
Конечно, это необходимо только тогда, когда
Restore
кнопка - иногда предлагаемая VS2015 - недоступна. Более полезные команды обновления перечислены и объяснены здесь: https://docs.microsoft.com/en-us/nuget/consume-packages/reinstall-and-updating-packagesисточник
Если у вас возникли проблемы или отсутствуют какие-либо пакеты, вы можете просто щелкнуть правой кнопкой мыши в своем проекте и выбрать « Управление пакетами NuGet для решения ... ». После этого откроется экран, где вы увидите строку меню с надписью «Восстановить»:
Нажмите на нее, и необходимые пакеты будут установлены автоматически.
Я считаю, что это то, что вы ищете, это решило мои проблемы.
источник
Используйте эту команду для восстановления всех пакетов
источник
При обновлении проектов с пакетами nuget с Vx20XX до VS2015 у вас могут быть проблемы с пакетами nuget.
Пример сообщения об ошибке: Этот проект ссылается на пакеты NuGet, которые отсутствуют на этом компьютере. Включите NuGet Package Restore, чтобы загрузить их.
Обновление 2016-02-06: у меня была ссылка на информацию, но она больше не работает. Я подозреваю, что недавний путь решил проблему ???
Я исправил свою проблему, написав небольшую программу, которая выполняет MSBuild-Integrated восстановление пакета по сравнению с автоматическим восстановлением пакета
Вы можете скачать исполняемый файл инструмента здесь .
Пожалуйста, дайте мне знать результат :-)!
Код в качестве ссылки:
источник
Зайдите в References в visual studio и посмотрите, какие пакеты отсутствуют. Теперь щелкните правой кнопкой мыши на Solution in Visual и выберите открытую папку в проводнике. Теперь откройте папку пакетов и удалите отсутствующую папку пакетов. Откройте визуальную студию и просто постройте решение. все недостающие пакеты будут восстановлены. Пожалуйста, пометьте это как ответ, если я помог.
источник
Я предполагаю, что для проекта asp.net 4 мы переходим к автоматическому восстановлению, поэтому в этом нет необходимости. Для старых проектов я думаю, что нужно немного поработать над конверсией.
http://docs.nuget.org/docs/workflows/migrating-to-automatic-package-restore
источник
Этот подход работал для меня:
Теперь вы также включили восстановление пакета nuget в VS2015.
источник
Я столкнулся с той же проблемой при попытке создать пример проекта gplus-quickstart-csharp-master .
Я внимательно посмотрел сообщение об ошибке и нашел способ обойти эту ошибку, надеюсь, это поможет.
Наслаждаться !!
источник
Решение Ивана Бранец , по сути, исправило это для меня, но можно поделиться некоторыми подробностями.
В моем случае я был в VS 2015 с использованием автоматического восстановления пакета и TFS . Это все по умолчанию.
Проблема заключалась в том, что когда другой разработчик пытался получить решение от TFS, некоторые пакеты не восстанавливались полностью. (Почему, я еще не совсем уверен.) Но папка пакетов содержала папку для ссылки и пакет NuGet, но не расширялась (скажем, папка lib, содержащая .dll, отсутствовала.) Эта половина но не совсем правильная концепция препятствовала восстановлению пакета.
Вы узнаете это, потому что ссылка будет иметь желтый восклицательный знак о том, что она не разрешена.
Таким образом, решение об удалении папки внутри пакетов устраняет проблему блокировки восстановления пакетов. Тогда вы можете щелкнуть правой кнопкой мыши на верхнем уровне решения, чтобы получить возможность восстановить пакеты , и теперь это должно работать.
источник
Закрыть VS. Удалить все в папке пакетов. Повторно откройте свое решение. Щелкните правой кнопкой мыши по своему проекту, выберите «Управление пакетами Nuget ...». В верхней части окна «Диспетчер пакетов Nuget» появится желтая полоса с просьбой восстановить пакеты. Это сработало для меня.
источник
с https://docs.microsoft.com/en-us/nuget/quickstart/restore
источник
Может также быть результатом запуска программы во время установки пакета. он недоступен, если вы пытаетесь щелкнуть по нему, когда встроенный IIS работает в фоновом режиме.
источник
Если кто-то еще обнаружит эту проблему в Visual Studio 2017, убедитесь, что проект открывается с помощью файла .sln, а не папки, так как Visual Studio не подберет настройки, если они открыты по папке. Это происходит по умолчанию, если вы используете онлайн-сервисы Visual Studio для git.
источник
Я использовал
msbuild /t:restore
.Кредит и источник:
Моя проблема была с MSBuild, поэтому я перешел по ссылке @Vinney Kelly: перенос интегрированных решений MSBuild на автоматическое восстановление пакетов
и...
Это сработало LIKE A CHARM =]
источник
Если ничего не помогает (или, возможно, до этого), вы можете проверить и посмотреть, является ли NuGet источником пакета. Я установил VS2017, и он не был там по умолчанию. Я думал, что это было немного странно.
источник
Мне пришлось удалить пакет папки закрыть и заново открыть (VS2015) решение. Я не мигрировал, и у меня не было пакетов, проверенных в системе контроля версий. Все, что я могу сказать, это что-то напутало, и это исправило это.
источник
Помогли мне через Инструменты >>> Диспетчер пакетов Nuget >>> Общие, затем отметьте опцию Разрешить Nuget загружать отсутствующий пакет и автоматически проверять отсутствующие пакеты во время сборки в Visual Studio .
источник
Для проектов .NET Core запустите
dotnet restore
илиdotnet build
введите командуNuGet Package Manager Console
(которая автоматически запускает восстановление)Вы можете запустить консоль из
источник
Я сталкиваюсь с той же проблемой. Я пытаюсь добавить проект MVC, созданный в Visual Studio 2015, к решению, которое я сделал в Visual Studio 2019.
В Visual Studio 2019 уже существуют проекты, поэтому добавление этого существующего проекта, созданного мной в VS 2015, вызывает ту же ошибку. Я попробовал все ответы здесь, но это не решает проблему.
Я просто поместил папку .nuget в папку решения. Первоначально иерархия папок такова:
Так что проблема была исправлена, когда я переместил папку .nuget в саму папку решения:
источник
VS 2019 версия 16.4.4 Решение для .NET Core 3.1
Перепробовав почти все предложенные здесь решения, я закрыл VS. Когда я снова открыл его, через несколько секунд все вернулось, чтобы быть в порядке ...
источник
Еще проще, добавьте папку .nuget в свое решение, и появится «Восстановить пакеты Nuget» (не уверен, что для его работы должен присутствовать nuget.exe).
источник