Încercarea de conectare Nuget a eșuat „Unable to load the service index for source” (Programare, .Net, Studio Vizual, Nuget)

DarthVader a intrebat.

În timp ce încerc să mă conectez la Nuget, primesc eroarea de mai jos și apoi nu reușesc să mă conectez:

[nuget.org] Nu se poate încărca indexul serviciului pentru sursăhttps://api.nuget.org/v3/index.json.an error occurred while sending the request.Unable to connect to the remote serverA connection attempt failed because the connected party did not proper respond after a period of time, or established connectionfailed because connected host has failed to respond 68.232.34.200:443

Pot să accesez https://api.nuget.org/v3/index.json pe browserul meu.

Această întrebare nu este un duplicat. Celelalte răspunsuri nu-mi rezolvă problema.

Comentarii

  • Posibil duplicat al VS2015 nuget package manager nu găsește pachete –  > Por DaImTo.
  • Din moment ce ați postat aceeași problemă pe un alt fir de discuție (stackoverflow.com/questions/41157069/nuget-not-connecting), vă rugăm să continuați această problemă pe firul de discuție anterior. Și eu, de asemenea, voi urmări această problemă pe firul dvs. anterior. –  > Por Weiwei.
  • Aveți configurat un proxy pe mașina dvs. Sau variabila „http_proxy” configurată în variabila de mediu? –  > Por Eddie Chen – MSFT.
  • Da, am mai multe proxy-uri care rulează pe mașina mea. Când am instalat fiddler. Am reușit să accesez nuget. Am un proxy corp. –  > Por DarthVader.
  • Tocmai mi-am repornit Visual studio și a funcționat! –  > Por Shridhar R Kulkarni.
39 răspunsuri
Eddie Chen – MSFT

Trebuie să adăugați setările proxy în fișierul Nuget.Config. Consultați acest link pentru detalii: Secțiunea Nuget Config & Nuget Proxy Settings.

Comentarii

  • În cazul meu a fost că aveam o variabilă de mediu http_proxy configurată greșit. –  > Por Martin Brown.
  • Am avut și eu această problemă și am eliminat-o în linia de comandă, dar acum problema a revenit, dar nu am niciun proxy setat în prezent. Aveți vreo idee despre ce ar putea fi în continuare în neregulă? –  > Por Dan Csharpster.
  • Am rămas blocat cu aceeași problemă –  > Por Rıfat Erdem Sahin.
  • Fișierul de configurare ar trebui să fie prezent la %AppData%NuGet sau C:UsersWindowsLoginNameAppDataRoamingNuGet –  > Por VivekDev.
  • Pentru mine am întâlnit problema atunci când încerc să rulez comanda dotnet build în mașina mea linux, cum să setez proxy-ul pentru nuget pe linux? –  > Por Derrick.X.
Razi

Deschideți editorul de registru apăsând Win + R și tastați regedit Enter

Navigați la:

HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSecurityProvidersSCHANNELProtocolsTLS 1.3Client

Modificați valoarea lui DisabledByDefault tasta 0 la 1

Apoi reporniți Visual Studio.

Citiți mai multe despre TLS
Citiți mai multe despre această problemă în legătură cu NuGet

Comentarii

  • Îmbunătățiți-vă răspunsul explicând de ce acest lucru ar putea rezolva problema. –  > Por BigM.
  • Conform cunoștințelor mele, , această cheie de registru DisabledByDefault valoarea este 1 în setările implicite ale Windows 10. Cu toate acestea, Windows Updater sau Visual Studio Updater o poate schimba la 0. De aceea, Visual Studio nu a reușit să se conecteze https site securizat. –  > Por Razi.
  • Acest truc a rezolvat de fapt problema și celelalte aplicații .NET ale mele, de asemenea! –  > Por 0xabc.
  • Am aceeași problemă ca și OP. În registrul boxei mele Windows 10, folderul Protocols este gol (nu există opțiunea TLS 1.3 și nici nimic înăuntru). –  > Por Eduardo Álvarez.
  • Exact, nu văd niciun dosar în folderul Protocols. De asemenea, am verificat Internet Options din Internet Explorer, TLS 1.1 și TLS 1.2 sunt bifate. Nu sunt sigur de ce nu există foldere sub Protocoale în Editorul de registru. Îmi poate spune cineva ce îmi scapă aici? @EduardoÁlvarez –  > Por Swap.
Shradha Shilvant

Am primit aceeași eroare în timp ce încercam să navighez în pachetul NuGet, pentru a rezolva același lucru am urmat pasul de mai jos

1- mergeți la %appdata%NuGetNuGet.config

2- Verificați uralele menționate în acea configurație

3- Eliminați url-ul care nu este necesar

4- Reporniți Visual Studio și verificați

Comentarii

  • Acest lucru a rezolvat problema pentru mine. –  > Por BEvans.
  • Foarte util, pentru a ajunge la această setare nuget / locație de configurare: %appdata%NuGetNuGet.config. În cazul meu, am încercat să instalez un instrument global dotnet și, pentru unele frustrantă motiv frustrant, a continuat să încerce să folosească o sursă nuget myget, deși nu exista niciun motiv pentru asta. Am o sursă myget listată (din necesitate, deoarece este utilizată într-un proiect), dar sursa / url-ul principal nuget.org a fost totuși listat primul, iar această instalare nu a fost de fapt încărcată în niciun registru de pachete, ci doar pe mașina locală. Oricum, prin eliminarea temporară a sursei myget din acest fișier, a funcționat brusc. –  > Por Nicholas Petersen.
Alexei – verificați Codidact

M-am lovit de această problemă când am încercat să execut nuget.exe prin Jenkins (configurat ca serviciu, în mod implicit folosind contul Local System). Am editat C:WindowsSystem32configsystemprofileAppDataRoamingNuGetNuGet.Config fișierul care arată după cum urmează:

<?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> 

Pentru a testa promptul de comandă poate fi pornit prin intermediul PSTools:

psexec -i -s CMD

și testul real se execută în ferestrele cmd nou create (rulează ca Sistem local):

path_to_nuget
uget.exe restore "path_to_solutiontheSolution.sln"

janonimus

Ștergerea fișierului %AppData%NuGetNuGet.Config și repornirea VS2019 a funcționat pentru mine.

Similar cu https://github.com/NuGet/Home/issues/3281

Comentarii

  • Acest lucru a funcționat și pentru mine. –  > Por Eduardo Álvarez.
TANCUL VISHAL

Mergeți la

Setări ( Setări globale ale PC-ului dvs.) > Rețea și Internet > Proxy > Configurare automată a proxy-ului > și setați Detectarea automată a setărilor la dezactivat.

Marlon Adarme

Dacă primiți această eroare, dar nu aveți un server proxy, puteți merge la

%userprofile%AppDataRoamingNuGetNuGet.Config

și să comentați aceste linii:

<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>

La mine a funcționat pentru că primeam această eroare, dar nu am un server proxy.

Comentarii

  • Cum ai criptat parola? –  > Por theonlygusti.
  • Nu am criptat parola. Nu am avut, nu a existat un proxy. –  > Por Marlon Adarme.
firetiger77

Este demn de remarcat faptul că a existat un bug cu autentificarea SSL din .net core SSL care ar putea cauza acest lucru. Dezactivarea celei mai recente implementări a stivei lor de rețea, a rezolvat această problemă pentru mine.

Puteți seta acest lucru în mod permanent sau doar lansați aplicația dvs. folosind:

DOTNET_SYSTEM_NET_HTTP_USESOCKETSHTTPHANDLER=0 dotnet ...

hosam hemaily

În cazul meu se întâmplă pentru că nu am conexiune la internet și încearcă să scheletul

Comentarii

  • Același lucru aici. Am fost offline pentru w timp și a apărut aceeași problemă. –  > Por Ja Rek.
Frosteeze

Am avut o problemă similară încercând să mă conectez la serverul meu privat TFS în loc de serverul public NuGet API. Dintr-un motiv oarecare, am avut o problemă între serverul AD și serverul TFS, astfel încât acesta returna întotdeauna un 401. Articolul despre configurația NuGet arată că puteți adăuga numele de utilizator și parola AD în fișierul de configurare, astfel:

  <packageSourceCredentials>
      <vstsfeed>
          <add key="Username" value="[email protected]" />
          <add key="Password" value="this is an encrypted password" >
          <!-- add key="ClearTextPassword" value="not recommended password" -->
      </vstsfeed>
  </packageSourceCredentials>

Aceasta nu este chiar o soluție ideală, ci mai degrabă una temporară, până când îmi dau seama care este problema cu serverul AD, dar ar trebui să rezolve problema.

Comentarii

Sylvain Rodrigue

Este posibil ca ceva să vă fi schimbat setările proxy, cum ar fi Fiddler. Închideți Fiddler, apoi închideți Visual Studio și deschideți-l din nou.

Comentarii

  • Vă mulțumim! Dezactivarea Fiddler Everywhere a rezolvat problema pentru mine când Docker build nu a restaurat nugets din cauza unei probleme TLS pe un Mac. Mi-a salvat ziua. –  > Por SofterThoughts.
Jonathan Chow

Dacă vedeți eroarea de mai jos, este posibil să aveți nevoie să vă configurați Azure Artifacts Credential, vedeți acest lucru Link Github, , ați putea fie să instalați furnizorul de credențiale prin rularea unui script powershell sau manual.

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

Comentarii

  • Aceasta este ceea ce m-a ajutat (în cele din urmă). –  > Por Dave Clausen.
heuristican

Am primit același mesaj de eroare în timp ce am avut același mesaj de eroare în timp ce scheleam Identity la proiectul meu ASP.NET Core MVC. Deoarece conexiunea mea nu se afla în spatele unui proxy, eliminarea/modificarea configurațiilor proxy nu avea sens. Și nici nu am vrut să șterg un fișier sau să dezinstalez PMC. În timp ce mă uitam prin jur, am realizat că există un buton „Clear All Nuget Cache(s)” (Șterge toate cache-urile Nuget) pe Tools –> Options –> NuGet Package Manager –> General. După ce am apăsat butonul a trebuit să aștept ceva timp pentru ca operațiunea să se finalizeze. După aceea am încercat să schelerez din nou Identitatea, dar nu a funcționat. Apoi am decis să repornesc VS și voila 🙂

Michael Freidgeim

Eroarea poate fi cauzată doar de o problemă temporară de rețea, și dispare, dacă încercați din nou.

ps2goat

Eu folosesc VSO/Azure DevOps.

Puteți, de asemenea, să vizitați url-ul feed-ului direct în browser. S-ar putea să vă treziți cu un răspuns care să conțină un mesaj de acest fel, ceea ce poate face diagnosticul mult mai rapid:

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

Comentarii

  • Da, am observat și eu acest lucru astăzi. Funcționează foarte bine în proiecte normale non-dotnet core în VS, dar ucide un proiect de exemplu core într-un container docker (în ciuda faptului că nu vrea sau nu are nevoie de nimic din repo-ul NuGet găzduit de Azure DevOps al companiei noastre) mort de piatră. Nu sunt foarte sigur cum pe pământ să rezolvăm acest lucru fără acea licență de alimentare, ceea ce nu se va întâmpla. Cu siguranță acest lucru trebuie să fie un bug, deoarece ce rost are un repo NuGet pe care nu îl poți folosi cu core? –  > Por Steve Pettifer.
  • Dacă nu folosiți nimic din repo, vedeți dacă puteți elimina sursa respectivă din fișierul NuGet.Config. Avem un agent de compilare cu acces la surse, așa că pentru noi funcționează. –  > Por ps2goat.
  • Dacă aș putea. Din păcate, am nevoie de lucruri din acel repo (am greșit în comentariul meu inițial, altfel aș comenta sau aș șterge acea sursă din NuGet config, dar asta ar afecta alte proiecte care o folosesc). Din întâmplare, se pare că, odată ce mi se va atribui (în sfârșit) subsolul MSDN, nivelul meu de privilegii de utilizator în Azure DevOps va crește/va fi mărit și voi avea acces la package sources extensie care va face ca acest lucru să funcționeze. Pare un pic prostesc, dar asta e. –  > Por Steve Pettifer.
Shwe

În cazul meu, tocmai am repornit docker-ul și a funcționat.

Aditya Mishra

Dacă utilizați Visual Studio 2019, ștergeți doar secțiunea „defaultproxy” dacă nu utilizați niciun proxy implicit în devenv.exe.config. în VS 2017 această secțiune nu era prezentă

modificați

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

în

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

În rest, furnizați numele de utilizator și parola proxy corespunzătoare.

Sahil Guleria

Am folosit o versiune mai veche de Nuget pe VS2010, unde este implicită TLS 1.0here poate fi fixat prin schimbarea versiunii TLS implicite utilizate de cadrul .Net care este configurat în cheile de registru

reg add HKLMSOFTWAREMicrosoft.NETFrameworkv4.0.30319 /v SystemDefaultTlsVersions /t REG_DWORD /d 1 /f /reg:64

reg add HKLMSOFTWAREMicrosoft.NETFrameworkv4.0.30319 /v SystemDefaultTlsVersions /t REG_DWORD /d 1 /f /reg:32

FYI

NuGet.org va elimina definitiv suportul pentru TLS 1.0 și 1.1 pe 15 iunie. Vă rugăm să vă asigurați că sistemele dvs. utilizează TLS 1.2.

Puteți consulta această adresă link pentru informații despre suportul TLS 1.2

StayOnTarget

În cazul meu, problema a fost că am construit pe o mașină virtuală mai veche, care se baza pe Win7.

Am găsit această soluție de la https://github.com/NuGet/NuGetGallery/issues/8176#issuecomment-683923724 :

nuget.org a început să impună utilizarea TLS 1.2 (și a renunțat la suportul pentru TLS 1.1 și 1.0) la începutul acestui an. Windows 7 are TLS 1.2 dezactivat în mod implicit (verificați DisabledByDefault valoarea de laHKLMSYSTEMCurrentControlSetControlSecurityProvidersSCHANNELProtocolsTLS 1.2Client din registru). Pentru a activa suportul, asigurați-vă că aveți o actualizare (*) instalată și activați suportul:

reg add HKLMSYSTEMCurrentControlSetControlSecurityProvidersSCHANNELProtocolsTLS 1.2Client" /v DisabledByDefault /t REG_DWORD /d 0 /f /reg:32
reg add "HKLMSYSTEMCurrentControlSetControlSecurityProvidersSCHANNELProtocolsTLS 1.2Client" /v DisabledByDefault /t REG_DWORD /d 0 /f /reg:64
reg add "HKLMSYSTEMCurrentControlSetControlSecurityProvidersSCHANNELProtocolsTLS 1.2Client" /v Enabled /t REG_DWORD /d 1 /f /reg:32
reg add "HKLMSYSTEMCurrentControlSetControlSecurityProvidersSCHANNELProtocolsTLS 1.2Client" /v Enabled /t REG_DWORD /d 1 /f /reg:64

Actualizarea (*) la care se face referire a fost Microsoft kb3140245:Actualizare pentru Windows 7 (KB3140245)

Am instalat actualizarea, am repornit (așa cum a cerut actualizarea), am adăugat aceste chei de registru și apoi Nuget a funcționat bine.

İlker Sevinç

Am avut o problemă similară în timp ce încercam să execut Install-Package Modernizr pe Visual Studio 2015. Mi-am rezolvat problema urmând pașii de mai jos:

  1. Descărcați pachetul de la sursa sa online.
  2. Mergeți la Tools/NuGet Package Manager/Package Manager Settings.
  3. Selectați Sursele pachetelor din fereastră.
  4. Adăugați o nouă sursă de pachete făcând clic pe butonul + (+). Introduceți un nume și locația sursei făcând clic pe (punct triplu).
  5. Asigurați-vă că este bifată doar sursa pachetului pe care tocmai l-ați adăugat. Debifați toate celelalte surse de pachete.
  6. Mergeți la Consola Manager de pachete și tastați Install-Package Modernizr.
  7. Visual Studio 2015 instalează automat pachetul și creează Scripts și pachete în dosarul rădăcină.

Sper ca aceeași soluție să funcționeze și în timpul instalării altor pachete.

Charles Moses

Este posibil ca unele medii de dezvoltare să nu utilizeze nici un browser, nici un proxy.

O soluție ar fi descărcarea pachetului de la nugget, cum ar fi https://dotnet.myget.org/F/dotnet-core/api/v3/index.json într-un director partajat, apoi executați următoarele:

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

Sper că funcționează pentru tine. 

jitin14

În sprijinul răspunsului oferit de @Eddie Chen (aici) a trebuit să adaug și eu setarea http_proxy la următorul fișier:

C:Windowssystem32configsystemprofileAppDataRoamingNuGetNuGet.Config

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

Kadeer Mughal

Mergeți la -> Tools -> Extensions and Updates și dezinstalați NuGet package manager… reporniți Visual Studio și reinstalați-l…. fiecare lucru se va seta la normal.

Dooie

În cazul meu, a rulat Fiddler, care mi-a schimbat setările proxy.

Sibeesh Venu

Am primit aceeași eroare în timp ce executam RUN dotnet restore în aplicația mea Dockerfile folosind docker-compose up comanda în Windows 10.

Am încercat toate soluțiile posibile oferite pe internet și am fost, de asemenea, să fiu cu ochii pe această problemă deschisă. În cele din urmă, după ce am petrecut mai mult de 8 ore, urmând pașii precedenți, am reușit să îmi rezolv problema.

  1. Dezinstalați Docker din sistemul dvs.
  2. Reporniți sistemul
  3. Instalați Docker de aici link. Mai jos este versiunea Docker-ului meu

  4. Reporniți sistemul

  5. Porniți Docker pentru Windows, căutați Docker în bara de căutare din Windows. Asigurați-vă că rulează.

  6. De asemenea, ar trebui să mergeți la Services.msc și asigurați-vă că serviciile Docker Engine și Docker for Windows Service sunt în funcțiune.

  7. În cele din urmă, trebuie să verificați fișierul Nuget.config din C:Users{Username}AppDataRoamingNuGet. Pentru mine, conținutul acestui fișier era cel de mai jos.

    <?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>

    Sper că vă ajută.

Lemon

în cazul meu a trebuit să adaug sursele în Visual studio Options->NugetPAckageManager->sourcesși apoi să repornesc Visual Studio Command prompt

Mark Infantino

Am avut această eroare și apoi mi-am dat seama că am fost conectat cu contul meu personal Microsoft în loc de contul meu de lucru.

Sper că acest lucru vă ajută.

Comentarii

  • Mulțumesc, uneori este prea ușor 🙂 –  > Por albin.
IvanovAndrew

Poate acest ajută

Pentru mine, eliminarea folderului .nuget aflat în C:UsersYourNameHere a rezolvat problema.

Jim G.

Am încercat să adaug o sursă NuGet Azure Artifacts.

Am urmat instrucțiunile Microsoft aici, , cu o omisiune critică.

Am uitat să înlocuiesc /v3/index.json cu /v2.

d.i.joe

Se pare că Nuget folosește în continuare adresa scriptului proxy (pentru VPN-ul nostru), chiar dacă setările proxy sunt dezactivate. Am eliminat adresa de script și funcționează.

J Clark

Dacă vă aflați în spatele unui proxy al companiei și pe Mac, asigurați-vă că sunt bifate și aplicate căsuțele de verificare http/https.

Arun Kumar Yadu

Setarea PC-ului dumneavoastră -> Rețea și Internet Proxy -> Setări automate de configurare Proxy thenset Detectează automat setările pentru a dezactiva și șterge adresa de script

Samuel

Instalarea lui fiddler mi-a cauzat o problemă similară. Dezinstalarea fiddler și eliminarea proxy-ului fiddler din machine.config (atât din Framework cât și din Framework64) a rezolvat problema.

Vladimir Zotov
nuget restore 

și

msbuild /t:restore

ambele nu au funcționat pentru mine cu aceeași eroare. Dar

dotnet restore 

a funcționat perfect. Încearcă asta

Vinod John
  1. du-te la %appdata%NuGetNuGet.config

  2. Modificați această linie:

    <packageSources>
        <add key="Microsoft Visual Studio Offline Packages" value="C:Program Files (x86)Microsoft SDKsNuGetPackages
     />
        <add key="Package source" value="https://api.nuget.org/v3/index.json" />
    </packageSources>
    

Turbcool

Nu am putut rezolva problema în sine, dar am găsit o modalitate de a instala pachete.

Trebuie doar să specificați nuget.org ca sursă direct în Package Manager Console.

Update-Package -reinstall -Source nuget.org

Eternal21

Am întâlnit această eroare atunci când am încercat să configurez pachetele NuGet în interiorul instanței Gitlab găzduite local. Eroarea a indicat codul 401 Cod neautorizat. Soluția a fost eliminarea sursei incriminate cu:

nuget source Remove -Name SOURCE_NAME

Și apoi adăugarea aceleiași surse, dar de data aceasta specificând numele de utilizator și parola în comandă:

nuget source Add -Name SOURCE_NAME -Source SOURCE_URL -UserName GITLAB_DEPLOY_TOKEN_USERNAME -Password GITLAB_DEPLOY_TOKEN

Anand Sutar

Am rezolvat această problemă folosind pașii de mai jos

  1. Faceți clic pe run search this %APPDATA%NuGetNuGet.config.

  2. Deschideți setarea și adăugați această cheie http_proxy în NuGet.config.

  3. Apoi, veți putea instala BouncyCastle.Crypto.dll în aplicația dvs.

Vă mulțumim! Răspunsurile sunt binevenite dacă vă ajută acest răspuns.

Partha Ranjan

Asigurați-vă că docker rulează în mașina dvs. locală. comanda build va funcționa, dar este necesar să ruleze docker pentru a obține date de rețea.

Cred că vă va ajuta.