Помилка спроби з'єднання Nuget "Неможливо завантажити індекс служби для джерела"


86

Під час спроби підключитися до Nuget, з'являється помилка нижче, а потім я не можу підключитися:

[nuget.org] Не вдається завантажити індекс служби для джерела https://api.nuget.org/v3/index.json . Під час надсилання запиту сталася помилка. Не вдається підключитися до віддаленого сервера Спроба підключення не вдалася, оскільки підключена сторона не відповідала належним чином через певний час, або встановлене з’єднання не вдалося, оскільки підключений хост не відповів 68.232.34.200:443

Я можу отримати доступ до https://api.nuget.org/v3/index.jsonсвого браузера.

Це не дублікат. Інші відповіді не вирішують моєї проблеми.



Оскільки ви опублікували ту саму проблему в іншому потоці ( stackoverflow.com/questions/41157069/nuget-not-connecting ), продовжте цю проблему на попередній темі. І я також слідкуватиму за цим питанням у вашій попередній темі.
Weiwei

Чи налаштовано на вашому комп'ютері проксі? Або змінна "http_proxy", налаштована у змінну середовища?
Едді Чен - MSFT

Так, у мене на машині працює кілька проксі-серверів. Коли я встановив скрипт. Я зміг отримати доступ до nuget. У мене є корпоративний проксі.
DarthVader

3
Я щойно перезапустив свою студію Visual, і вона запрацювала!
Shridhar R Kulkarni

Відповіді:


30

Вам потрібно додати налаштування проксі-сервера у файл Nuget.Config. Зверніться до цим посиланням для деталей: NuGet Config Section & NuGet Налаштування проксі - сервера .


Для мене це було те, що у мене була встановлена ​​неправильна змінна середовища http_proxy.
Мартін Браун

2
Я теж мав цю проблему і видалив її в командному рядку, але тепер проблема повернулася, але на даний момент проксі не встановлено. Будь-яка ідея, що все ще може піти не так?
Dan Csharpster

3
застряг у тому ж випуску
Ріфат Ердем Сахін

1
Файл налаштування повинен бути присутнім у% AppData% \ NuGet \ або C: \ Users \ WindowsLoginName \ AppData \ Roaming \ NuGet
VivekDev

21

Відкрийте редактор реєстру, натиснувши Win+ Rі введітьregedit Enter

Перейдіть до:

\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.3\Client

Змініть значення DisabledByDefaultключа 0 на 1

Потім перезапустіть Visual Studio.

Детальніше про TLS
Детальніше про цю проблему wrt NuGet


3
Поліпшіть свою відповідь, пояснивши, чому це може вирішити проблему.
BigM

Дякую. Це зробило для мене фокус. Я отримував повідомлення про помилку "Під час відновлення пакунків NuGet сталася помилка: Не вдалося завантажити індекс служби для джерела api.nuget.org/v3/index.json . [Nuget.org] Не вдалося завантажити індекс служби для джерела api.nuget. org / v3 / index.json . Під час надсилання запиту сталася помилка. Запит скасовано: не вдалося створити захищений канал SSL / TLS ".
chanakya sankritayana

Це спрацювало. Але чому? Що може спричинити цю проблему? Як щось наважилося так змінити реєстр? А для чого?
арахіс

2
Наскільки мені відомо , це DisabledByDefaultзначення ключа реєстру дорівнює 1 у налаштуваннях Windows 10 за замовчуванням. однак програма оновлення Windows або програма оновлення Visual Studio може змінити її на 0. саме тому Visual Studio не вдалося підключити httpsзахищений сайт.
Разі

1
Цей фокус насправді вирішив проблему та інші мої програми .NET!
0xabc

10

Я отримав ту саму помилку під час спроби переглянути NuGet Package, щоб вирішити те саме, що було виконано нижче

1- перейти до %appdata%\NuGet\NuGet.config

2- Перевірте URL-адреси, зазначені в цій конфігурації

3- Видаліть URL-адресу, яка не потрібна

4- Перезапустіть візуальну студію та перевірте


8

Я натрапив на цю проблему, намагаючись запустити nuget.exe через Jenkins (налаштований як служба, за замовчуванням за допомогою облікового запису Local System). Я відредагував C:\Windows\System32\config\systemprofile\AppData\Roaming\NuGet\NuGet.Configфайл, який виглядає так:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
    <config>
        <add key="http_proxy" value="http://proxy_hostname_or_ip:3128" />
        <add key="https_proxy" value="http://proxy_hostname_or_ip:3128" />
    </config>

  <packageSources>
    <add key="nuget.org" value="https://api.nuget.org/v3/index.json" protocolVersion="3" />
  </packageSources>

</configuration> 

Для тестування командний рядок можна запустити через PSTools :

psexec -i -s CMD

і фактичний тестовий запуск у новостворених вікнах cmd (працює як Локальна система):

path_to_nuget\nuget.exe restore "path_to_solution\theSolution.sln"

7

Йти до

Налаштування (Глобальні налаштування ПК)> Мережа та Інтернет> Проксі-сервер> Автоматичне налаштування проксі-сервера> та вимкніть Автоматичне визначення параметрів.



3

Якщо ви отримуєте цю помилку, але у вас немає проксі-сервера, ви можете перейти до

%userprofile%\AppData\Roaming\NuGet\NuGet.Config

І прокоментуйте ці рядки:

<config>
     <!-- Proxy settings -->
     <add key="http_proxy" value="host" />
     <add key="http_proxy.user" value="username" />
     <add key="http_proxy.password" value="encrypted_password" />
</config>

Це спрацювало для мене, оскільки я отримував цю помилку, але у мене немає проксі-сервера.


3

Варто зазначити, що сталася помилка з аутентифікацією основного SSL .net, яка могла спричинити це. Вимкнення їх останньої реалізації мережевого стека вирішило цю проблему для мене.

Ви можете встановити це постійно або просто запустити програму, використовуючи:

DOTNET_SYSTEM_NET_HTTP_USESOCKETSHTTPHANDLER=0 dotnet ...

3

У моєму випадку це сталося тому, що у мене немає підключення до Інтернету, і він намагається проводити риштування


Те ж саме. Поки я був в автономному режимі, і з’явилася та сама проблема.
Ja Rek,

2

Можливо, щось змінило налаштування вашого проксі-сервера, наприклад, Fiddler. Закрийте Fiddler, а потім закрийте Visual Studio і відкрийте його знову.


1
Дякую! Вимкнення Fiddler Everywhere вирішило це для мене, коли Docker build не відновлював самородки через проблему TLS на Mac. Врятував мій день.
SofterThoughts

2

Якщо ви бачите помилку наступним чином, можливо, вам доведеться налаштувати свої облікові дані Azure Artifacts, див. Це посилання Github , ви можете встановити постачальника облікових даних, запустивши скрипт PowerShell або вручну.

error :   Response status code does not indicate success: 401 (Unauthorized).

1
Це те, що (нарешті) мені допомогло.
Dave Clausen

1

Помилка може бути спричинена лише тимчасовою проблемою мережі та зникнути, якщо повторити спробу.


1

Я використовую VSO / Azure DevOps.

Ви також можете відвідати URL-адресу каналу безпосередньо у своєму браузері. Ви можете отримати відповідь, що містить таке повідомлення, що може набагато пришвидшити діагностику:

The user does not have a license for the extension ms.feed.


Так, я це помітив і сьогодні. Чудово працює у звичайних не-dotnet-ядерних проектах у VS, але вбиває приклад основного проекту в контейнері докера (незважаючи на те, що він нічого не хоче або не потребує від нашого корпоративного Azure DevOps, що розміщує репозиторій NuGet). Не зовсім впевнений, як це можна виправити без тієї ліцензії на корм, що не відбудеться. Звичайно, це має бути помилка, оскільки який сенс у репозиторії NuGet ви не можете використовувати з ядром?
Steve

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

Якби тільки я міг. Мені, на жаль, потрібні речі з цього репозиторію (я помилився у своєму оригінальному коментарі, інакше я б прокоментував або видалив це джерело в конфігурації NuGet, але це вплине на інші проекти, які його використовують). Буває, здається, що як тільки я (нарешті) отримаю призначений мені підпрограмний пакет MSDN, рівень моїх привілеїв користувача в Azure DevOps збільшиться / збільшиться, і я отримаю доступ до package sourcesрозширення, яке зробить цю роботу. Здається трохи безглуздо, але там воно є.
Steve

1

У моєму випадку я просто перезапустив докер і просто працював.


1

У мене була подібна проблема при спробі підключитися до мого приватного сервера TFS замість загальнодоступного сервера NuGet API. З якоїсь причини у мене виникла проблема між сервером AD та сервером TFS, щоб він завжди повертав 401. У статті конфігурації NuGet показано, що ви можете додати своє ім'я користувача та пароль AD до файлу конфігурації так:

  <packageSourceCredentials>
      <vstsfeed>
          <add key="Username" value="yourname@company.com" />
          <add key="Password" value="this is an encrypted password" >
          <!-- add key="ClearTextPassword" value="not recommended password" -->
      </vstsfeed>
  </packageSourceCredentials>

Це не зовсім ідеальне рішення, більше тимчасове, поки я не зможу зрозуміти, в чому проблема сервера AD, але це має зробити це.


1

Я використовував стару версію Nuget на VS2010, де за замовчуванням він має значення TLS 1.0, тут це можна виправити, змінивши версію TLS за замовчуванням, що використовується фреймворком .Net, яка налаштована в ключах реєстру.

reg add HKLM\SOFTWARE\Microsoft\.NETFramework\v4.0.30319 /v SystemDefaultTlsVersions /t REG_DWORD /d 1 /f /reg:64

reg add HKLM\SOFTWARE\Microsoft\.NETFramework\v4.0.30319 /v SystemDefaultTlsVersions /t REG_DWORD /d 1 /f /reg:32

FYI

NuGet.org назавжди скасує підтримку TLS 1.0 та 1.1 15 червня. Переконайтесь, що у ваших системах використовується TLS 1.2.

Ви можете звернутися за цим посиланням для отримання інформації про підтримку TLS 1.2


1

У мене з’явилося таке саме повідомлення про помилку під час підстановки ідентифікатора до мого проекту ASP.NET Core MVC. Оскільки моє з'єднання не було за проксі, видалення / редагування конфігурацій проксі не мало сенсу. І я також не хотів видаляти файл або видаляти PMC. Оглядаючись, я зрозумів кнопку «Очистити всі кеші Nuget» на Інструментах -> Параметри -> Менеджер пакунків NuGet -> Загальне. Після натискання кнопки мені довелося почекати деякий час, поки операція завершиться. Після цього я знову спробував перекласти Identity, але це не спрацювало. Тоді я вирішив перезапустити VS і вуаля :)

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


0

Деякі середовища розробки можуть не використовувати ні браузер, ні проксі.

Одним із рішень було б завантажити пакет із самородка, наприклад, у https://dotnet.myget.org/F/dotnet-core/api/v3/index.jsonспільний каталог, а потім виконати наступне:

dotnet add package Microsoft.AspNetCore.StaticFiles -s "shared drive:\index.json"

Я сподіваюся, це працює для вас.  


0

На підтримку відповіді, наданої @Eddie Chen ( тут ), мені також довелося додати параметр http_proxy до наступного файлу:

C: \ Windows \ system32 \ config \ systemprofile \ AppData \ Roaming \ NuGet \ NuGet.Config

<add key="http_proxy" value="http://your_proxy_url:8080" />

0

Перейдіть до -> Інструменти -> Розширення та оновлення та видаліть менеджер пакунків NuGet .. перезапустіть Visual Studio і переінсталюйте його .... кожна річ буде встановлена ​​в нормальний режим


0

У моєму випадку у мене працював Fiddler, який змінив мої налаштування проксі


0

Я отримував цю саму помилку під час запуску RUN dotnet restoreв моїй команді Dockerfileusing docker-compose upв Windows 10.

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

Я спробував усі можливі рішення, надані в Інтернеті, і також стежив за цим відкритим питанням . Нарешті, провівши більше 8 годин, виконавши попередні кроки, я зміг виправити свою проблему.

  1. Видаліть Dockerіз вашої системи
  2. Перезапустіть систему
  3. Встановити Dockerза цим посиланням . Нижче наведена версія мого Docker

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

  4. Перезапустіть систему

  5. Запустіть Docker для Windows, знайдіть Dockerу рядку пошуку в Windows. Переконайтеся, що він працює.

  6. Ви також повинні перейти Services.mscта переконатися, що послуги Docker Engineта Docker for Windows Serviceпрацюють.

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

  7. Нарешті, ви повинні перевірити свій файл Nuget.config з C:\Users\{Username}\AppData\Roaming\NuGet. Для мене вміст цього файлу був таким, як показано нижче.

    <?xml version="1.0" encoding="utf-8"?> <configuration> <packageSources> <add key="nuget.org" value="https://api.nuget.org/v3/index.json" /> </packageSources> <packageRestore> <add key="enabled" value="True" /> <add key="automatic" value="True" /> </packageRestore> <bindingRedirects> <add key="skip" value="False" /> </bindingRedirects> <packageManagement> <add key="format" value="0" /> <add key="disabled" value="False" /> </packageManagement> </configuration>

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


0

у моєму випадку мені довелося додати джерела в Параметри Visual studio-> NugetPAckageManager-> джерела, а потім перезапустити командний рядок Visual Studio


0

У мене виникла ця помилка, а потім я зрозумів, що ввійшов із особистим обліковим записом Microsoft замість робочого.

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


Дякую, іноді це занадто просто :)
albin

0

Можливо, це допомагає

Для мене вилучення папки .nuget, розташованої в C: \ Users \ YourNameHere, вирішило проблему.


0

Якщо ви використовуєте Visual Studio 2019, просто видаліть розділ "defaultproxy", якщо ви не використовуєте проксі-сервери за замовчуванням у devenv.exe.config. у VS 2017 цього розділу не було

змінити

<defaultProxy enabled="true" useDefaultCredentials="true">
    <proxy bypassonlocal="True" proxyaddress="http://<yourproxy:port#>"/>
</defaultProxy>

до

<!--<defaultProxy enabled="true" useDefaultCredentials="true">
    <proxy bypassonlocal="True" proxyaddress="http://<yourproxy:port#>"/>
</defaultProxy>-->

В іншому випадку надайте відповідне ім’я користувача та пароль проксі.


0

Я намагався додати джерело Azure Artifacts NuGet.

Я дотримувався вказівок Microsoft тут , з одним критичним недоглядом.

Я забув замінити /v3/index.jsonна /v2.

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


0

Здається, Nuget все ще використовує адресу скрипта проксі (для нашого VPN), хоча налаштування проксі вимкнені. Я видалив адресу сценарію, і вона працює.

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


0

Якщо ви стоїте за проксі компанії та на Mac, просто переконайтеся, що ваші прапорці http / https встановлені та застосовані.


0

Налаштування ПК -> Мережа та Інтернет-проксі -> Автоматичне налаштування проксі, а потім встановіть значення Автоматичне визначення параметрів вимкнено та очистіть адресу сценарію

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