Источник недоступен при использовании консоли управления пакетами NuGet

Мы перемещаем управление пакетами вручную путем обновления файлов до NuGet. Я пытаюсь установить более старые версии пакетов в соответствии с тем, который у нас уже есть в исходном элементе управления. Нет никакого способа сделать это из пользовательского интерфейса, поэтому я использую командную строку для получения правильной версии.

По какой-то причине Install-Package продолжает рассказывать мне, что галерея nuget недоступна.

Источник на nuget.org [https://www.nuget.org/api/v2/] недоступен. Возврат к локальному кэшу NuGet

Это происходит только в одном из наших решений. Если я создаю новое решение или использую другое в том же репозитории, пакеты будут установлены, как ожидалось. Я даже могу установить пакеты в фиктивном решении, чтобы заполнить локальный кеш, а затем успешно установить их в неисправном решении. Я попытался Invoke-WebRequest на url из консоли NuGet, и я получаю HTTP 200.

Что может быть причиной этого? Есть ли способ переопределить источники пакетов на основе каждого проекта/проекта?

Ответ 1

Несмотря на то, что для моего источника пакета был установлен nuget.org в консоли диспетчера пакетов, явное добавление аргумента -Source nuget.org исправлено для меня.

Таким образом, пример использования:

Install-Package Akka.net -Source nuget.org

Akka.net - это ваш пакет, который вы хотите установить, это просто пример.

Ответ 2

Мне пришлось копировать исходный источник NuGet в параметрах Visual Studio. С скопированным источником я изменил URL-адрес от https до http. Это разрешило проблему для меня.

Кредит на это предложение принадлежит здесь: https://nuget.codeplex.com/discussions/561075#PostDetailsCell_1354351, на "jpharris4".

Ответ 3

Я не уверен, что может вызвать вашу проблему, но там действительно способ переопределить источники пакетов на основе каждого решения, , но только если вы включили пакет NuGet Восстановите на данном решении.

Как только решение разрешило восстановление пакета NuGet, в него будет добавлена ​​папка с именем ".nuget". Под этим будет файл под названием "NuGet.targets", в котором есть ItemGroup, условие которого "$ (PackageSources)" == '' "похоже на тот, который вы увидите на прикрепленном изображении.

Если ItemGroup пуста (или полностью прокомментирована, как показано на рисунке), то решение будет использовать определенный файл, который должен быть таким же, как источники, перечисленные в разделе TOOLS → OPTIONS. Но если вы раскомментируете или добавите элементы PackageSource в эту ItemGroup, решение будет искать перечисленные источники пакетов и ТОЛЬКО перечисленные.

Contents of the Nuget.targets file

Ответ 4

Вы также можете изменить источник NuGet из пользовательского интерфейса. Просто измените источник NuGet на более старую версию, и он должен работать нормально.

enter image description here

Кажется, что в VS 2015 все еще есть несколько ошибок, связанных с api.nuget.org(v3).

Ответ 5

В моем случае причина заключалась в том, что пакет имел соглашение. Через интерфейс UI - "Управление пакетами NuGet" вы можете принять и продолжить.

Консоль диспетчера пакетов в VS 2013, похоже, имеет проблему с этим. Как утверждают другие, перезапуск VS 2013 может разрешить его для консоли.

Ответ 6

В моей консоли диспетчера пакетов я не видел никаких источников

Переход к: Инструменты → Параметры → Диспетчер пакетов Nuget → Источники пакетов

Я нашел источники. Убрав их, и они проверили их, они снова появились в моей консоли диспетчера пакетов

Ответ 7

Это работает для меня в VS 2015 prof: Инструменты → Параметры → Nuget Package Manager → Источники пакетов

  • Нажмите кнопку "Добавить"
  • Изменить в названии: nuget.org
  • Изменить в исходной метке: https://www.nuget.org/api/v2/
  • Нажмите OK

Надеюсь, что это поможет;)

Ответ 8

Я должен был предоставить comman вместе с полным URL как Install-Package MySql.Data.Entity -Version 6.9.8 -Source http://www.nuget.org/api/v2

Ответ 9

У меня была такая же проблема с тем же сообщением. Но причиной моей проблемы было потерянное соединение с TFS. Мой сервер TFS был размещен в другой сети, и я использовал VPN для доступа к нему. Когда я попытался установить пакет без установленного соединения с TFS (VPN был отключен), я получил ту же проблему.

Помните об этом поведении TFS.

Ответ 10

Случается, что вы работаете в автономном режиме, когда вы снова подключаете сеть, вам нужно выйти из системы и вернуться в систему. Менеджер пакетов будет плавно повторно инициализироваться.

Ответ 11

Я столкнулся с этой проблемой VS2013 и потратил 3 часа времени.

Не уверен, в чем причина этой проблемы. Но ни один из вышеперечисленных решений не работал у меня.

Для меня работала переустановка консоли Nuget Package Manager.

Инструменты → Расширения и обновления → Под всем рассмотрите диспетчер пакетов Nuget для Visual Studio и удалите его.

Перейдите в https://marketplace.visualstudio.com/items?itemName=NuGetTeam.NuGetPackageManagerforVisualStudio2013 и загрузите расширение.

Ответ 12

введите здесь описание изображения Может быть, ваш офисный/домашний брандмауэр блокирует nuget.org, поэтому попробуйте подключить различные интернет-сети, например, со своего мобильного телефона или wifi. Я смог решить этот метод.