[C#] NuGet Package Manager 콘솔을 사용할 때 소스에 도달 할 수 없음

패키지 관리를 파일 수동 업데이트에서 NuGet으로 옮깁니다. 소스 제어에 이미있는 것과 일치하도록 이전 버전의 패키지를 설치하려고합니다. UI 에서이 작업을 수행 할 수있는 방법이 없으므로 명령 줄을 사용하여 올바른 버전을 얻습니다.

어떤 이유로, Install-Package너겟 갤러리에 도달 할 수 없다고 계속 말하십시오.

nuget.org [ https://www.nuget.org/api/v2/] 의 소스에 접근 할 수 없습니다. NuGet 로컬 캐시로 폴백

이것은 우리 솔루션 중 하나에서만 발생합니다. 새 솔루션을 만들거나 동일한 리포지토리에서 다른 솔루션을 사용하면 패키지가 예상대로 설치됩니다. 심지어 더미 솔루션에 패키지를 설치하여 로컬 캐시를 채운 다음 결함이있는 솔루션에 성공적으로 설치할 수 있습니다. Invoke-WebRequestNuGet Console에서 URL을 시도했지만 HTTP 200을 얻습니다.

이 원인은 무엇입니까? 솔루션 / 프로젝트별로 패키지 소스를 재정의하는 방법이 있습니까?



답변

심지어 내 생각 패키지 소스가 명시 적으로 추가, 패키지 관리자 콘솔에서 nuget.org로 설정 -Source nuget.org나를 위해이 고정 인수를.

따라서 사용 예는 다음과 같습니다.

Install-Package Akka.net -Source nuget.org

Akka.net은 설치하려는 패키지이며 여기에 예제가 있습니다.


답변

Visual Studio의 옵션에서 기본 NuGet 소스를 복사해야했습니다. 복사 된 소스를 사용하여 URL을에서 (으) https로 변경 했습니다 http. 이것은 나를 위해 문제를 해결했습니다.

이 제안에 대한 크레딧은 여기에 있습니다 : https://nuget.codeplex.com/discussions/561075#PostDetailsCell_1354351 , “jpharris4”.


답변

무엇이 문제를 일으킬 수 있는지 잘 모르겠지만 실제로 솔루션별로 패키지 소스를 재정의하는 방법이 있지만 주어진 솔루션에서 NuGet Package Restore활성화 한 경우에만 가능 합니다.

솔루션에서 NuGet 패키지 복원을 활성화하면 “.nuget”이라는 폴더가 솔루션에 추가됩니다. 아래에는 “NuGet.targets”라는 파일이 있으며, 첨부 된 이미지에서 볼 수있는 것과 같은 조건이 ” ‘$ (PackageSources)’== ””인 ItemGroup이 있습니다.

ItemGroup가 하늘의 경우,이 솔루션은 특정 파일을 사용합니다 (그림에서 또는 완전히 주석) 한다 TOOLS 아래에 나열된 소스 >> 옵션과 동일합니다. 그러나 PackageSource 항목을 주석 해제하거나 해당 ItemGroup에 추가하면 솔루션이 나열된 패키지 소스와 나열된 소스 만 검색합니다.

Nuget.targets 파일의 내용


답변

UI에서 NuGet 소스를 변경할 수도 있습니다. NuGet 소스를 이전 버전으로 변경하면 정상적으로 작동합니다.

여기에 이미지 설명을 입력하십시오

VS 2015에는 api.nuget.org (v3)와 관련된 버그가 거의없는 것 같습니다.


답변

패키지 관리자 콘솔에서 소스를 볼 수 없습니다

이동 :
도구-> 옵션-> Nuget 패키지 관리자-> 패키지 소스

출처를 찾았습니다. 확인을 취소하고 다시 확인하면 패키지 관리자 콘솔에 다시 나타납니다.


답변

나는 전체 URL과 함께 comman을 제공해야했다. Install-Package MySql.Data.Entity -Version 6.9.8 -Source http://www.nuget.org/api/v2


답변

필자의 경우 패키지에 동의 한 것이 원인이었습니다. UI- “Manage NuGet 패키지”대화 상자를 통해 수락하고 계속할 수있는 옵션이 있습니다.

VS 2013의 패키지 관리자 콘솔에이 문제가있는 것 같습니다. 다른 사람들이 VS 2013을 다시 시작하면 콘솔에서 해결할 수 있다고 말했습니다.