Nuget-Verbindungsversuch fehlgeschlagen "Dienstindex für Quelle kann nicht geladen werden"


80

Beim Versuch, eine Verbindung zu Nuget herzustellen, wird der folgende Fehler angezeigt, und ich kann keine Verbindung herstellen:

[nuget.org] Der Dienstindex für die Quelle https://api.nuget.org/v3/index.json kann nicht geladen werden . Beim Senden der Anforderung ist ein Fehler aufgetreten. Verbindung zum Remoteserver kann nicht hergestellt werden Ein Verbindungsversuch ist fehlgeschlagen, weil der verbundene Teilnehmer nach einer bestimmten Zeit nicht richtig geantwortet hat, oder die hergestellte Verbindung ist fehlgeschlagen, weil der verbundene Host nicht geantwortet hat. 68.232.34.200:443

Ich kann https://api.nuget.org/v3/index.jsonüber meinen Browser darauf zugreifen .

Es ist kein Duplikat. Die anderen Antworten lösen mein Problem nicht.



Da Sie dasselbe Problem in einem anderen Thread ( stackoverflow.com/questions/41157069/nuget-not-connecting ) veröffentlicht haben, setzen Sie dieses Problem in Ihrem vorherigen Thread fort. Und ich werde dieses Problem auch in Ihrem vorherigen Thread verfolgen.
Weiwei

Haben Sie einen Proxy auf Ihrem Computer konfiguriert? Oder die in der Umgebungsvariablen konfigurierte Variable "http_proxy"?
Eddie Chen - MSFT

Ja, auf meinem Computer werden mehrere Proxys ausgeführt. Als ich Fiddler installiert habe. Ich konnte auf Nuget zugreifen. Ich habe Corp Proxy.
DarthVader

1
Ich habe gerade mein Visual Studio neu gestartet und es hat funktioniert!
Shridhar R Kulkarni

Antworten:


28

Sie müssen der Nuget.Config-Datei Proxy-Einstellungen hinzufügen. Weitere Informationen finden Sie unter diesem Link: Nuget-Konfigurationsabschnitt und Nuget-Proxy-Einstellungen .


Für mich war es so, dass ich eine http_proxy-Umgebungsvariable eingerichtet hatte, die falsch war.
Martin Brown

2
Ich hatte dieses Problem auch und entfernte es in der Befehlszeile, aber jetzt ist das Problem wieder da, aber ich habe derzeit keinen Proxy festgelegt. Irgendeine Idee, was noch schief gehen könnte?
Dan Csharpster

3
stecken mit dem gleichen Problem
Rıfat Erdem Sahin

1
Die Konfigurationsdatei sollte unter% AppData% \ NuGet \ oder C: \ Users \ WindowsLoginName \ AppData \ Roaming \ NuGet
VivekDev

17

Öffnen Sie den Registrierungseditor, indem Sie Win+ drücken Rund eingebenregedit Enter

Navigieren Sie zu:

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

Ändern Sie den Wert von DisabledByDefaultSchlüssel 0 auf 1

Starten Sie dann Visual Studio neu.

Lesen Sie mehr über TLS
Lesen Sie mehr über dieses Problem bei NuGet


2
Verbessern Sie Ihre Antwort, indem Sie erklären, warum dies das Problem lösen könnte.
BigM

Vielen Dank. Das hat den Trick für mich getan. Ich habe den folgenden Fehler erhalten: "Beim Wiederherstellen von NuGet-Paketen ist ein Fehler aufgetreten: Der Dienstindex für die Quelle api.nuget.org/v3/index.json kann nicht geladen werden . [Nuget.org] Der Dienstindex für die Quelle api.nuget kann nicht geladen werden. org / v3 / index.json . Beim Senden der Anforderung ist ein Fehler aufgetreten. Die Anforderung wurde abgebrochen: Sicherer SSL / TLS-Kanal konnte nicht erstellt werden. "
Chanakya Sankritayana

Es funktionierte. Aber wieso? Was könnte dieses Problem verursachen? Wie hat es etwas gewagt, die Registrierung so zu ändern? Und wofür?
Erdnuss

2
Meines Wissens ist dieser Registrierungsschlüsselwert in den DisabledByDefaultStandardeinstellungen von Windows 10 1. Windows Updater oder Visual Studio Updater können ihn jedoch auf 0 ändern. Aus diesem Grund konnte Visual Studio keine Verbindung zu einer httpssicheren Site herstellen.
Razi

1
Dieser Trick hat das Problem und auch meine anderen .NET-Apps gelöst!
0xabc

10

Beim Durchsuchen des NuGet-Pakets wurde der gleiche Fehler angezeigt, um den im folgenden Schritt beschriebenen Fehler zu beheben

1- gehe zu %appdata%\NuGet\NuGet.config

2- Überprüfen Sie die in dieser Konfiguration genannten URLs

3- Entfernen Sie die URL, die nicht benötigt wird

4- Starten Sie Visual Studio neu und überprüfen Sie


7

Ich bin auf dieses Problem gestoßen, als ich versuchte, nuget.exe über Jenkins auszuführen (als Dienst konfiguriert, standardmäßig unter Verwendung des lokalen Systemkontos). Ich habe eine C:\Windows\System32\config\systemprofile\AppData\Roaming\NuGet\NuGet.ConfigDatei bearbeitet , die wie folgt aussieht:

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

Zum Testen der Eingabeaufforderung kann über PSTools gestartet werden :

psexec -i -s CMD

und tatsächlicher Testlauf in den neu erstellten cmd-Fenstern (wird als lokales System ausgeführt):

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

6

Gehe zu

Einstellungen (Globale Einstellungen Ihres PCs)> Netzwerk und Internet> Proxy> Automatische Proxy-Einrichtung> und deaktivieren Sie die Einstellungen für die automatische Erkennung.



3

Es ist erwähnenswert, dass es einen Fehler bei der .net-Kern-SSL-Authentifizierung gab, der dies verursachen konnte. Das Deaktivieren der neuesten Netzwerk-Stack-Implementierung hat dieses Problem für mich gelöst.

Sie können dies dauerhaft festlegen oder Ihre App einfach starten mit:

DOTNET_SYSTEM_NET_HTTP_USESOCKETSHTTPHANDLER=0 dotnet ...

3

In meinem Fall ist es passiert, weil ich keine Internetverbindung habe und es versucht, ein Gerüst zu bauen


Hier gilt das gleiche. Ich war eine Weile offline und das gleiche Problem trat auf.
Ja Rek

2

Möglicherweise hat etwas Ihre Proxy-Einstellung geändert, z. B. Fiddler. Schließen Sie Fiddler, schließen Sie Visual Studio und öffnen Sie es erneut.


1
Vielen Dank! Das Ausschalten von Fiddler Everywhere hat es für mich gelöst, als Docker Build aufgrund eines TLS-Problems auf einem Mac keine Nugets wiederherstellte. Hat meinen Tag gerettet.
SofterThoughts

2

Wenn der folgende Fehler auftritt, müssen Sie möglicherweise Ihre Azure Artifacts-Anmeldeinformationen einrichten. Weitere Informationen finden Sie unter diesem Github-Link . Sie können den Anmeldeinformationsanbieter entweder durch Ausführen eines Powershell-Skripts oder manuell installieren.

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

1
Das hat mir (endlich) geholfen.
Dave Clausen

1

Der Fehler kann nur durch ein vorübergehendes Netzwerkproblem verursacht werden und verschwindet, wenn Sie es erneut versuchen.


1

Ich verwende VSO / Azure DevOps.

Sie können die Feed-URL auch direkt in Ihrem Browser aufrufen. Möglicherweise erhalten Sie eine Antwort, die eine Nachricht wie diese enthält, wodurch Ihre Diagnose möglicherweise viel schneller wird:

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


Ja, das habe ich heute auch bemerkt. Funktioniert einwandfrei in normalen Nicht-Dotnet-Kernprojekten in VS, aber es beendet ein Beispielkernprojekt in einem Docker-Container (obwohl es nichts von unserem von Azure DevOps gehosteten NuGet-Repo-Unternehmen will oder braucht). Ich bin mir nicht ganz sicher, wie ich das beheben soll, ohne die Feed-Lizenz, die nicht passieren wird. Sicherlich muss dies ein Fehler sein, denn wozu dient ein NuGet-Repo, das Sie nicht mit Core verwenden können?
Steve Pettifer

Wenn Sie nichts aus dem Repo verwenden, prüfen Sie, ob Sie diese Quelle aus der Datei NuGet.Config entfernen können. Wir haben einen Build-Agenten mit Zugriff auf die Feeds, sodass dies für uns funktioniert.
ps2goat

Wenn ich nur könnte. Ich brauche leider etwas von diesem Repo (ich habe mich in meinem ursprünglichen Kommentar geirrt, sonst würde ich diese Quelle in der NuGet-Konfiguration auskommentieren oder löschen, aber das würde andere Projekte betreffen, die es verwenden). Es scheint, dass, sobald ich (endlich) mein MSDN-Sub zugewiesen habe, meine Benutzerberechtigungsstufe in Azure DevOps erhöht / erhöht wird und ich Zugriff auf die package sourcesErweiterung bekomme, mit der dies funktioniert. Scheint ein bisschen albern, aber da ist es.
Steve Pettifer

1

In meinem Fall habe ich gerade den Docker neu gestartet und einfach gearbeitet.


1

Ich habe den gleichen Fehler erhalten, RUN dotnet restoreals ich meinen Dockerfileusing- docker-compose upBefehl in ausgeführt habe Windows 10.

Geben Sie hier die Bildbeschreibung ein

Ich habe alle möglichen Lösungen ausprobiert, die im Internet angeboten werden, und habe auch dieses offene Problem im Auge behalten . Nachdem ich mehr als 8 Stunden damit verbracht hatte, die vorherigen Schritte auszuführen, konnte ich mein Problem beheben.

  1. Deinstallieren Sie Dockervon Ihrem System
  2. Starten Sie Ihr System neu
  3. Installieren Sie Dockerüber diesen Link . Unten ist die Version meines Docker

    Geben Sie hier die Bildbeschreibung ein

  4. Starten Sie Ihr System neu

  5. Starten Sie Docker für Windows und suchen Sie Dockerin der Suchleiste in Windows. Stellen Sie sicher, dass es läuft.

  6. Sie sollten gehen auch Services.mscund sicherstellen , dass die Dienste Docker Engineund Docker for Windows Serviceausgeführt werden .

    Geben Sie hier die Bildbeschreibung ein

  7. Zuletzt müssen Sie Ihre Nuget.config-Datei von überprüfen C:\Users\{Username}\AppData\Roaming\NuGet. Für mich war der Inhalt dieser Datei wie folgt.

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

    Hoffe das hilft.


1

Ich hatte ein ähnliches Problem beim Versuch, eine Verbindung zu meinem privaten TFS-Server anstelle des öffentlichen NuGet-API-Servers herzustellen. Aus irgendeinem Grund hatte ich ein Problem zwischen dem AD-Server und dem TFS-Server, sodass immer ein 401 zurückgegeben wurde. Der NuGet-Konfigurationsartikel zeigt, dass Sie Ihren AD-Benutzernamen und Ihr Kennwort wie folgt zur Konfigurationsdatei hinzufügen können:

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

Dies ist keine ideale Lösung, eher eine vorübergehende, bis ich herausfinden kann, wo das Problem mit dem AD-Server liegt, aber dies sollte es tun.


1

Ich habe eine ältere Version von Nuget auf VS2010 verwendet, wo standardmäßig TLS 1.0 verwendet wird. Hier kann dies behoben werden, indem die vom .Net-Framework verwendete Standard-TLS-Version geändert wird, die in Registrierungsschlüsseln konfiguriert ist

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

Zu Ihrer Information

NuGet.org wird die Unterstützung für TLS 1.0 und 1.1 am 15. Juni endgültig entfernen. Stellen Sie sicher, dass Ihre Systeme TLS 1.2 verwenden.

Unter diesem Link finden Sie Informationen zur TLS 1.2-Unterstützung


1

Beim Erstellen der Identität für mein ASP.NET Core MVC-Projekt wurde dieselbe Fehlermeldung angezeigt. Da sich meine Verbindung nicht hinter einem Proxy befand, war das Entfernen / Bearbeiten von Proxy-Konfigurationen nicht sinnvoll. Und ich wollte auch keine Datei löschen oder PMC deinstallieren. Während ich mich umsah, bemerkte ich eine Schaltfläche "Alle Nuget-Caches löschen" unter Extras -> Optionen -> NuGet Package Manager -> Allgemein. Nach dem Drücken der Taste musste ich einige Zeit warten, bis der Vorgang abgeschlossen war. Danach habe ich erneut versucht, die Identität aufzubauen, aber es hat nicht funktioniert. Dann habe ich beschlossen, VS und voila neu zu starten :)

Geben Sie hier die Bildbeschreibung ein


0

Einige Entwicklungsumgebungen verwenden möglicherweise weder einen Browser noch einen Proxy.

Eine Lösung würde das Paket von einem Nugget wie dem https://dotnet.myget.org/F/dotnet-core/api/v3/index.jsonin ein freigegebenes Verzeichnis herunterladen und dann Folgendes ausführen:

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

Ich hoffe das funktioniert bei dir.  


0

Zur Unterstützung der Antwort von @Eddie Chen ( hier ) musste ich der folgenden Datei auch die Einstellung http_proxy hinzufügen:

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

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

0

Gehen Sie zu -> Extras -> Erweiterungen und Updates und deinstallieren Sie den NuGet-Paketmanager. Starten Sie Visual Studio neu und installieren Sie es neu. Alles wird auf Normal gesetzt


0

In meinem Fall hatte ich Fiddler laufen lassen, was meine Proxy-Einstellungen geändert hatte


0

In meinem Fall musste ich die Quellen in den Visual Studio-Optionen-> NugetPAckageManager-> Quellen hinzufügen und dann die Visual Studio-Eingabeaufforderung neu starten


0

Ich hatte diesen Fehler und stellte dann fest, dass ich mit meinem persönlichen Microsoft-Konto anstelle meines Arbeitskontos angemeldet war.

Hoffe das hilft.


Danke, manchmal ist es zu einfach :)
Albin

0

Wenn Sie diesen Fehler erhalten, aber keinen Proxyserver haben, können Sie zu gehen

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

Und kommentieren Sie diese Zeilen:

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

Es hat bei mir funktioniert, weil ich diesen Fehler erhalten habe, aber keinen Proxyserver habe.


0

Vielleicht dies hilft

Beim Entfernen des .nuget-Ordners in C: \ Users \ YourNameHere wurde das Problem behoben.


0

Stellen Sie sicher, dass Docker auf Ihrem lokalen Computer ausgeführt wird. Der Befehl build funktioniert, aber das erforderliche Docker wird ausgeführt, um Netzwerkdaten abzurufen.

Ich denke es wird helfen.


0

Wenn Sie Visual Studio 2019 verwenden, löschen Sie einfach den Abschnitt "Standardproxy", wenn Sie in devenv.exe.config keine Standardproxys verwenden. In VS 2017 war dieser Abschnitt nicht vorhanden

Veränderung

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

zu

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

Andernfalls geben Sie den entsprechenden Proxy-Benutzernamen und das entsprechende Kennwort an.


0

Ich habe versucht, eine Nuure Art-NuGet-Quelle hinzuzufügen.

Ich habe die Anweisungen von Microsoft hier mit einem kritischen Versehen befolgt .

Ich habe vergessen zu ersetzen /v3/index.jsonmit /v2.

Geben Sie hier die Bildbeschreibung ein


0

Es scheint, dass Nuget immer noch die Proxy-Skriptadresse (für unser VPN) verwendet, obwohl die Proxy-Einstellungen deaktiviert sind. Ich habe die Skriptadresse entfernt und es funktioniert.

Geben Sie hier die Bildbeschreibung ein


0

Wenn Sie sich hinter einem Firmenproxy und auf einem Mac befinden, stellen Sie einfach sicher, dass Ihre http / https-Kontrollkästchen aktiviert und angewendet sind.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.