Nuget 연결 시도가 "소스에 대한 서비스 인덱스를로드 할 수 없습니다"실패


87

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 ) 에 동일한 문제를 게시 했으므로 이전 스레드에서이 문제를 계속하십시오. 또한 이전 스레드에서이 문제를 따를 것입니다.
웨이 웨이

컴퓨터에 프록시가 구성되어 있습니까? 또는 환경 변수에 구성된 "http_proxy"변수?
에디 첸 - MSFT

예, 내 컴퓨터에서 여러 프록시를 실행하고 있습니다. 피들러를 설치할 때. 나는 너겟에 접근 할 수 있었다. 회사 프록시가 있습니다.
DarthVader

3
방금 Visual Studio를 다시 시작했는데 작동했습니다!
Shridhar R Kulkarni

답변:


30

Nuget.Config 파일에 프록시 설정을 추가해야합니다. 자세한 내용은 Nuget Config 섹션Nuget 프록시 설정 링크를 참조하십시오 .


저에게는 잘못된 http_proxy 환경 변수가 설정되어있었습니다.
Martin Brown

2
나도 그 문제가 있었고 명령 줄에서 제거했지만 이제 문제가 다시 발생했지만 현재 프록시 설정이 없습니다. 여전히 무엇이 잘못 될 수 있는지 아십니까?
Dan Csharpster

3
같은 문제와 함께 붙어
아파 드 Erdem 사힌

1
설정 파일은 존재해야 %의 AppData % \ NuGet \ 또는 C : \ 사용자 \ WindowsLoginName \의 AppData \ 로밍 \ 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

3
내 지식 에 따라이 레지스트리 키 DisabledByDefault값은 Windows 10 기본 설정에서 1입니다. 그러나 Windows Updater 또는 Visual Studio Updater는 0으로 변경할 수 있습니다. 이것이 Visual Studio가 https보안 사이트 에 연결하지 못한 이유 입니다.
Razi

1
이 트릭은 실제로 문제와 다른 .NET 앱도 해결했습니다!
0xabc

1
OP와 같은 문제가 있습니다. 내 Windows 10 상자 레지스트리에서 프로토콜 폴더가 비어 있습니다 (TLS 1.3 옵션이나 내부에 아무것도 없음).
Eduardo Álvarez

1
정확히 프로토콜 폴더 아래에 폴더가 표시되지 않습니다. 또한 Internet Explorer에서 인터넷 옵션을 확인했으며 TLS 1.1 및 TLS 1.2가 확인되었습니다. 레지스트리 편집기의 프로토콜 아래에 폴더가없는 이유를 모르겠습니다. 누군가 내가 여기서 무엇을 놓치고 있는지 말해 줄 수 있습니까? @ EduardoÁlvarez
스왑

11

NuGet 패키지를 탐색하는 동안 동일한 오류가 발생하여 동일한 아래 단계를 해결했습니다.

1- 이동 %appdata%\NuGet\NuGet.config

2- 해당 구성에 언급 된 URL 확인

3- 필요하지 않은 URL 제거

4- Visual Studio를 다시 시작하고 확인하십시오.


9

Jenkins (기본적으로 로컬 시스템 계정을 사용하여 서비스로 구성됨)를 통해 nuget.exe를 실행하려고 할 때이 문제를 발견했습니다. 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

이동

설정 (PC 전역 설정)> 네트워크 및 인터넷> 프록시> 자동 프록시 설정> 자동 검색 설정을 끄기로 설정합니다.



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

이 문제를 일으킬 수있는 .net 코어 SSL 인증에 버그가 있다는 점은 주목할 가치가 있습니다. 최신 네트워킹 스택 구현을 비활성화하여이 문제를 해결했습니다.

영구적으로 설정하거나 다음을 사용하여 앱을 시작할 수 있습니다.

DOTNET_SYSTEM_NET_HTTP_USESOCKETSHTTPHANDLER=0 dotnet ...

3

제 경우에는 인터넷에 연결되어 있지 않고 발판을 시도하고 있기 때문에 발생합니다.


여기도 마찬가지입니다. 나는 w 동안 오프라인 상태 였고 같은 문제가 나타났습니다.
Ja Rek

2

Fiddler와 같이 프록시 설정이 변경되었을 수 있습니다. Fiddler를 닫은 다음 Visual Studio를 닫고 다시 엽니 다.


1
감사! Fiddler Everywhere를 끄면 Docker 빌드가 Mac의 TLS 문제로 인해 너겟을 복원하지 못할 때 문제가 해결되었습니다. 내 하루를 구했습니다.
SofterThoughts

2

다음과 같은 오류가 표시되면 Azure Artifacts Credential을 설정해야 할 수 있습니다.이 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.


네, 오늘도 이것을 알아 차 렸습니다. VS의 일반적인 비 dotnet 핵심 프로젝트에서 잘 작동하지만 Docker 컨테이너에서 예제 핵심 프로젝트를 종료합니다 (회사 Azure DevOps 호스팅 NuGet 리포지토리에서 아무것도 원하지 않거나 필요하지 않음에도 불구하고). 발생하지 않을 피드 라이센스없이이 문제를 해결하는 방법을 잘 모르겠습니다. 코어와 함께 사용할 수없는 NuGet 리포지토리의 요점은 무엇입니까?
Steve Pettifer

리포지토리에서 아무것도 사용하지 않는 경우 NuGet.Config 파일에서 해당 소스를 제거 할 수 있는지 확인합니다. 피드에 액세스 할 수있는 빌드 에이전트가 있으므로 우리에게 적합합니다.
ps2goat

내가 할 수만 있다면. 슬프게도 그 저장소에서 물건이 필요합니다 (원래 주석에서 잘못되었습니다. 그렇지 않으면 NuGet 구성에서 해당 소스를 주석 처리하거나 삭제했지만이를 사용하는 다른 프로젝트에 영향을 미칩니다). 일단 내가 (마지막으로) 내 MSDN 하위 할당을 받으면 Azure DevOps의 사용자 권한 수준이 증가 / 증가 package sources하고이 작업을 수행 할 확장에 대한 액세스 권한을 얻게 됩니다. 약간 어리석은 것처럼 보이지만 거기에 있습니다.
Steve Pettifer

1

제 경우에는 도커를 다시 시작하고 방금 작업했습니다.


1

공용 NuGet API 서버 대신 개인 TFS 서버에 연결하려는 비슷한 문제가 발생했습니다. 어떤 이유로 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

VS2010에서 이전 버전의 Nuget을 사용하고 있었는데 여기서 기본값은 TLS 1.0이며 레지스트리 키에 구성된 .Net 프레임 워크에서 사용하는 기본 TLS 버전을 변경하여 수정할 수 있습니다.

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

참고로

NuGet.org는 6 월 15 일에 TLS 1.0 및 1.1에 대한 지원을 영구적으로 제거합니다. 시스템이 TLS 1.2를 사용하는지 확인하십시오.

TLS 1.2 지원에 대한 정보는 이 링크 를 참조 할 수 있습니다.


1

내 ASP.NET Core MVC 프로젝트에 ID를 스캐 폴딩하는 동안 동일한 오류 메시지가 표시되었습니다. 내 연결이 프록시 뒤에 있지 않기 때문에 프록시 구성을 제거 / 편집하는 것이 의미가 없습니다. 그리고 파일을 삭제하거나 PMC를 제거하고 싶지 않았습니다. 주변을 둘러 보면서 도구-> 옵션-> NuGet 패키지 관리자-> 일반에서 "모든 Nuget 캐시 지우기"단추를 발견했습니다. 버튼을 누른 후 작업이 완료 될 때까지 잠시 기다려야했습니다. 그 후 다시 신원을 비계하려고했지만 작동하지 않았습니다. 그런 다음 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에서 명령을 Dockerfile사용 하는 동안 동일한 오류가 발생 docker-compose up했습니다 Windows 10.

여기에 이미지 설명 입력

나는 인터넷에서 제공되는 모든 가능한 해결책을 시도했고 또한 이 공개 된 문제를 주시하고 있었다 . 마지막으로 8 시간 이상을 보낸 후 앞의 단계에 따라 문제를 해결할 수있었습니다.

  1. Docker시스템에서 제거
  2. 시스템 재시작
  3. Docker링크 에서 설치 하십시오 . 아래는 내 Docker 버전입니다.

    여기에 이미지 설명 입력

  4. 시스템 재시작

  5. Windows 용 Docker를 시작하고 Windows Docker의 검색 창에서 검색합니다. 실행 중인지 확인하십시오.

  6. 또한 이동 Services.msc하여 서비스 Docker EngineDocker for Windows Service실행 중인지 확인해야합니다 .

    여기에 이미지 설명 입력

  7. 마지막으로 .NET에서 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 Options-> NugetPAckageManager-> sources에 소스를 추가 한 다음 Visual Studio 명령 프롬프트를 다시 시작해야했습니다.


0

이 오류가 발생한 후 회사 계정 대신 개인 Microsoft 계정으로 로그인했다는 것을 깨달았습니다.

도움이 되었기를 바랍니다.


감사합니다. 때로는 너무 쉽습니다. :)
albin

0

아마도 이것이 도움이 될 것입니다

나를 위해 C : \ Users \ YourNameHere에있는 .nuget 폴더를 제거하면 문제가 해결되었습니다.


0

Visual Studio 2019를 사용하는 경우 devenv.exe.config에서 기본 프록시를 사용하지 않는 경우 "defaultproxy"섹션을 삭제하면됩니다. 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

PC 설정-> 네트워크 및 인터넷 프록시-> 자동 프록시 설정 후 자동 검색 설정을 끄기로 설정하고 스크립트 주소를 지 웁니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.