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

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

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

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

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

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

12 ответов


хотя моя Источник было установлено значение nuget.org в консоли диспетчера пакетов явно добавьте -Source nuget.org аргумент исправил это для меня.

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

Install-Package Akka.net -Source nuget.org

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


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

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


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

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

Если ItemGroup пуст (или полностью закомментирован, как на иллюстрации), то решение будет использовать определенный файл, который должны быть таким же, как источники, перечисленные в разделе Инструменты >> Параметры. Но если вы раскомментируете или добавите элементы PackageSource в эту ItemGroup, решение будет искать источники пакетов, перечисленные и только перечисленные.

Contents of the Nuget.targets file


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

enter image description here

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


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

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

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


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

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


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

  1. Нажмите кнопку Add
  2. изменить в метке имени: nuget.org
  3. редактировать в метке источника:https://www.nuget.org/api/v2/
  4. нажмите OK

надеюсь, что это помогает ;)


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


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

имейте в виду это поведение TFS.


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


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

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

переустановка консоли диспетчера пакетов Nuget работала для меня.

Инструменты - > Расширения и обновления -> в разделе Все найдите Диспетчер пакетов Nuget для Visual Studio и нажмите Удалить.

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


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