Джерело недоступне при використанні консолі NuGet Package Manager


153

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

Чомусь Install-Packageпродовжує говорити мені, що галерея нутетів недосяжна.

Джерело на nuget.org [ https://www.nuget.org/api/v2/] недоступне. Повернення до локального кешу NuGet

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

Що може викликати це? Чи є спосіб змінити джерела пакету на основі рішення / проекту?


3
У мене таке ж питання. Вчора я встановив оновлення VS 2013 Update 2, можливо, це нова помилка ...? До речі, я можу встановити будь-який пакет через діалогове вікно "Управління пакетами NuGet", це питання відбувається лише на консолі диспетчера пакунків.
rsenna

2
У мене така ж проблема. Завжди працює в діалоговому вікні "Керування пакетами" - ніколи не працює в консолі диспетчера пакунків.
Девід Тансі

10
Перезапуск Visual Studio виправив це для мене ಠ_ಠ
Кріс Марісіч

Відповіді:


338

Навіть незважаючи на те, що мій джерело пакунків було встановлено на nuget.org в консолі диспетчера пакунків, явно додавши його-Source nuget.org аргумент, зафіксований для мене.

Таким прикладом використання може бути:

Install-Package Akka.net -Source nuget.org

Akka.net є вашим пакетом, який ви хочете встановити, його лише приклад тут.


1
Я перезапустив свій ПК та Visual Studio. але .. додавши -Source nuget.org справді зробив трюк для мого нового .vbproj екземпляра в моєму багаторазовому проекті .sln
bkwdesign

Куди додати цей аргумент і як? Чи можете ви, будь ласка, дати більше інформації.
Раденко Зек

Це також працювало для мене (зараз, власне!). Я намагався встановити старішу версію jQuery, але вона постійно збільшувала помилку: "Джерело на nuget.org [ nuget.org/api/v2/] ". Я не знаю, як це виправити.
Луденв'є

дякую, я зробив так:Install-Package jQuery.UI.Combined -Source nuget.org
shaijut

7
Чи маєте ви уявлення, як це працює? Мені просто цікаво, оскільки це не має для мене сенсу, навіть якщо це працює. Отже, помилка каже, що джерело на nuget.org [ nuget.org/api/v2/] недоступне, і тоді я вказую те саме джерело, -Source nuget.orgі воно працює?
Владимир

10

Мені довелося скопіювати джерело NuGet за замовчуванням у параметри Visual Studio. За допомогою скопійованого джерела я змінив URL-адресу httpsнаhttp . Це вирішило проблему для мене.

Завдяки цій пропозиції належить тут: https://nuget.codeplex.com/discussions/561075#PostDetailsCell_1354351 , до "jpharris4".


Це дуже вдалий момент. NuGet може бути чутливим до перевірки сертифікату.
Етьєн Махеу

6

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

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

Якщо ItemGroup порожній (або повністю прокоментований, як на ілюстрації), тоді рішення використовуватиме певний файл, який повинен бути таким самим, як джерела, перелічені в розділі TOOLS >> OPTIONS. Але якщо ви відмежуєте або додаєте елементи PackageSource до цієї ItemGroup, рішення дозволить шукати перелічені джерела пакету та ТІЛЬКИ перелічені джерела.

Зміст файлу Nuget.targets


2
Джерела пакунків, визначені у файлі NuGet.targets, впливають лише на ті, які використовуються під час збирання, коли пакет відновляється. Джерела пакунків у файлі NuGet.config у каталозі .nuget впливатимуть на джерела пакунків, доступні для проекту у Visual Studio.
Метт Уорд

У мене включено відновлення пакету для цього рішення. ItemGroup налаштований так само, як на екрані екрана, який я вважаю, що це налаштування за замовчуванням, тому я не думаю, що це проблема. Однак відновлення пакунків було ввімкнено значно давно і цільовий файл змінився з того часу. Я спробував оновити ці файли до останньої версії, видаливши їх та повторно включивши відновлення пакету, і, схоже, це вирішило проблему.
Етьєн Махеу

Чи ні. Він працював спочатку, але після відновлення пакунків для рішення та перезапуску візуальної студії випуск повернувся.
Етьєн Махеу

Кілька уточнюючих питань: 1) Чи є у вас посилання на пакети.config належних версій? 2) Ви підтвердили, що шукана версія все ще існує на сервері NuGet ? 3) Чи ви очистили розчин, а потім відновили його після завершення 1) та 2)?
Омнідисциплінар

1
Якщо це будь-яке втіху - я отримую це питання, але тільки на своєму робочому ПК, і це відбувається з більшістю проектів. Дивно, що це переривчасте, що зводить мене з розуму!
Метт

6

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

введіть тут опис зображення

Здається, що в VS 2015 ще мало помилок, пов’язаних з api.nuget.org (v3).


2

У моїй консолі менеджера пакунків я не міг побачити джерел

Перехід до: Інструменти -> Параметри -> Менеджер пакунків Nuget -> Джерела пакунків

Я знайшов джерела. Якщо їх зняти, і перевірити їх назад, знову з'явилися в моїй консолі менеджера пакунків


2

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


1

У моєму випадку причина полягала в тому, що з пакетом була угода. Через інтерфейс користувача - діалогове вікно «Керування пакетами NuGet» ви можете прийняти та продовжити.

Здається, консоль диспетчера пакунків у VS 2013 має проблему. Як зазначають інші, перезапуск VS 2013 може вирішити його для консолі.


1

Для мене це працює в VS 2015 prof: Інструменти -> Параметри -> Nuget Package Manager -> Джерела пакунків

  1. Натисніть кнопку Додати
  2. Редагувати в імені Ім'я: nuget.org
  3. Редагувати в мітці джерела: https://www.nuget.org/api/v2/
  4. Натисніть OK

Сподіваюся, це допомагає;)


Для VS 2015 ви повинні використовувати v3 свого списку ... не v2! Взяте зі своєї домашньої сторінки NuGet feed v3 (VS 2015 / NuGet v3.x): api.nuget.org/v3/index.json NuGet feed v2 (VS 2013 та новіші / NuGet 2.x): nuget.org/api/v2
Пол Захра

0

У мене була та сама проблема з тим же повідомленням. Але причиною моєї проблеми було втрачено зв’язок із TFS. Мій сервер TFS розміщувався в іншій мережі, і я використовував VPN для доступу до нього. Коли я намагався встановити пакет без встановленого з'єднання з TFS (VPN було вимкнено), у мене виникла та сама проблема.

Будьте в курсі такої поведінки TFS.


0

Відбувається через те, що ви працюєте в автономному режимі, при повторному підключенні до мережі потрібно буде вийти та повернутися назад. Менеджер пакунків буде плавно повторно ініціалізуватися.


0

Я зіткнувся з цим питанням VS2013 і витратив 3 години часу.

Не впевнений, що було причиною проблеми. Але жодне з перерахованих вище рішень не працювало для мене.

Для мене працювала повторна установка консолі Nuget Package Manager.

Інструменти -> Розширення та оновлення -> У розділі Усі шукайте Nuget Package Manager для Visual Studio і натисніть кнопку Видалити.

Перейдіть на сторінку https://marketplace.visualstudio.com/items?itemName=NuGetTeam.NuGetPackageManagerforVisualStudio2013 та завантажте розширення.


Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.