NuGet으로 구버전의 패키지 다운로드


907

NuGet을 사용 하여 최신 버전이 아닌 이전 버전의 패키지를 다운로드하는 방법이 있습니까?

답변:


1117

Visual Studio에서 패키지 관리자 콘솔을 불러옵니다. 도구 / NuGet 패키지 관리자 / 패키지 관리자 콘솔에 있습니다. 그런 다음 Install-Package 명령을 실행하십시오.

Install-Package Common.Logging -Version 1.2.0

자세한 내용은 명령 참조 를 참조하십시오.

편집 : 패키지 버전을 나열하려면 Get-Package 명령을 remote 인수 및 필터 함께 사용할 수 있습니다 .

Get-Package -ListAvailable -Filter Common.Logging -AllVersions

Install-Package명령 에서 version 옵션 다음에 tab을 누르면 사용 가능한 최신 버전 목록이 표시됩니다.


54
Nuget을 한동안 사용했지만 명령 행에서 아무 것도하지 않은 사람들을 위해 PHeiberg가 언급 한 powershell 명령을 실행하려면 Visual Studio에서 패키지 관리자 콘솔을 불러 오십시오- 도구 | 라이브러리 패키지 관리자 | 패키지 관리자 콘솔 .
Jonathan Moffatt

20
이 명령은 UI를 통해서도 사용할 수 있어야합니다. 이제 게시자에게 베타 버전이있는 경우 최신 버전 만 얻을 수 있으며 때로는 불안정합니다.
Bart Verkoeijen 님이

2
@bgever-대부분의 게시자 는 GUI에서 "최신"으로 간주되지 않는 베타 패키지 용 시험판 을 만듭니다 . 게시자가 버전 관리를 올바르게 사용하는 한 최신 버전은 항상 안정적인 버전이어야합니다. 그렇다고 버그가 없다는 뜻은 아닙니다.
Jesse Webb

3
종속성 정보 및 사용 가능한 다른 속성 확인 : Get-Package -ListAvailable [-Source X] -Filter Common.Logging -AllVersions | 버전, 종속성 (또는 모든 속성을 보려면 ' | get-member ')을 선택하십시오.
Curtis Yallop

2
Get-Package -ListAvailable사용 가능한 모든 버전이 나와 있지는 않습니다 .
Roman Starkov 2016 년

52

패키지 색인에서 해당 페이지로 이동하십시오 (예 : http://www.nuget.org/packages/Newtonsoft.Json/4.0.5

그런 다음 제공된 설치 지침을 따르십시오.

Install-Package Newtonsoft.Json -Version 4.0.5

또는 .nupkg파일 을 다운로드 하려면 '다운로드'링크를 따르십시오 (예 : https://www.nuget.org/api/v2/package/Newtonsoft.Json/4.0.5

사용되지 않음 : 다운로드 링크를 삽입하는 Chrome 확장 프로그램 Nutake 를 설치 하십시오.


35

다른 옵션은 packages.config파일 의 버전 번호를 변경하는 것 입니다. 그러면 다음에 빌드 할 때 NuGet이 해당 버전의 dll을 다운로드하게됩니다.


1
좋은 사람은 ... 그것에 대해 생각하지 않았습니다. 나는 생각 NuGet 패키지 복원 비록 솔루션을 사용할 수있다.
Leniel Maccaferri

12
이것은 어셈블리 참조를 자동으로 변경하기에는 충분하지 않습니다. 작동하는 방법은 (솔루션에 두 개의 어셈블리가있는 경우) 다음과 같습니다. 1. 하나의 어셈블리가 패키지를 참조하는지 확인합니다. 2.에서 올바른 버전을 편집합니다 packages.config. 3. 솔루션에서 NuGet 패키지를 관리합니다 (3a). 패키지를 다른 프로젝트에 추가하여 원래 프로젝트에서 제거하고 확인하십시오 (3b). 3a를 뒤집고 확인하십시오. 3a 단계에서는 다른 프로젝트에 올바른 어셈블리 참조를 추가하고 원본에서 제거합니다. 3b 단계에서는 원본 프로젝트에 올바른 어셈블리 참조를 추가합니다.
Jeroen Wiert Pluimers

25

NuGet 3.x (Visual Studio 2015)에서는 UI에서 버전을 선택할 수 있습니다.

NuGet 3 패키지 관리자 UI


작동하면 좋지만 이전 버전이 모두 나열되어 있지 않은 경우를 보았습니다.
UuDdLrLrSs

5

NuGet 3.0에서는 Get-Package명령이 더 이상 사용되지 않으며 명령으로 바뀝니다 Find-Package.

Find-Package Common.Logging -AllVersions

자세한 내용은 NuGet 명령 참조 문서 를 참조하십시오.

Visual Studio 2015에서 Get-Package를 사용하려고하면 표시되는 메시지입니다.

This Command/Parameter combination has been deprecated and will be removed
in the next release. Please consider using the new command that replaces it: 
'Find-Package [-Id] -AllVersions'

또는 @Yishai가 말했듯이 Visual Studio의 NuGet 화면에서 버전 번호 드롭 다운을 사용할 수 있습니다.


3

원래 질문에 어떤 NuGet 프런트 엔드를 사용해야하는지 명시되어 있지 않으므로 NuGet 3.5는 명령 줄 클라이언트를 통해 특정 버전으로 업데이트하는 데 대한 지원을 추가한다고 언급하고 싶습니다 (다운 그레이드에서도 작동).

NuGet.exe update Common.Logging -Version 1.2.0

0

위에서 언급 한대로 Nuget Package Manager UI를 사용하면 먼저 Nuget 패키지를 설치 제거 할 수 있습니다. 먼저 제거하지 않으면 너겟 패키지 버전으로 돌아갈 때 항상 문제가 있습니다. 일부 참조가 제대로 청소되지 않았습니다. 따라서 Nuget Package Manager를 통해 이전 nuget 패키지를 설치할 때 다음 워크 플로우를 제안합니다.

  1. 너겟 서버 / 소스 선택
  2. 이전 버전을 설치하려는 너겟 패키지를 찾아서 선택하십시오.
  3. 현재 버전 제거
  4. 설치 드롭 다운을 클릭하고 이전 버전을 선택하십시오.> 설치를 클릭하십시오.

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

행운을 빕니다 :)

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