Windows용 Microsoft Visual Studio의 NuGet 패키지 관리자 UI를 사용하면 프로젝트 및 솔루션에서 NuGet 패키지를 쉽게 설치, 제거 및 업데이트할 수 있습니다.
이 문서는 Windows 사용자만을 위한 것입니다. Mac용 Visual Studio를 사용하는 경우, 프로젝트에 NuGet 패키지를 포함하는 방법은 을(를) 참조하세요.
필수 구성 요소
Windows용 Visual Studio 2022를 설치하고 모든 .NET 관련 워크로드를 포함하세요.
visualstudio.microsoft.com2022 Community Edition을 무료로 설치하거나 Professional 또는 Enterprise 버전을 사용할 수 있습니다.
Visual Studio 2017 이상에서는 .NET 관련 워크로드가 설치될 때 NuGet 패키지 관리자가 자동으로 포함됩니다. Visual Studio 설치 관리자에 개별적으로 설치하려면 개별 구성 요소 탭을 선택한 다음 코드 도구 아래에서 NuGet 패키지 관리자 선택합니다.
Visual Studio 2015의 경우 NuGet 패키지 관리자가 없는 경우 도구>확장 및 업데이트 확인하고 NuGet 패키지 관리자 확장을 검색합니다. Visual Studio에서 확장 설치 관리자를 사용할 수 없는 경우 https://dist.nuget.org/index.html직접 확장을 다운로드합니다.
아직 없는 경우 nuget.org 체험 계정에 등록합니다. NuGet 패키지를 업로드하려면 먼저 계정을 등록하고 확인해야 합니다.
패키지 찾기 및 설치
Visual Studio에서 NuGet 패키지를 찾아 설치하려면 다음 단계를 수행합니다.
솔루션 탐색기프로젝트를 로드한 다음 Project>NuGet 패키지 관리선택합니다.
NuGet 패키지 관리자 창이 열립니다.
찾아보기 탭을 선택하여 현재 선택한 원본에서 인기 있는 패키지를 표시합니다(패키지 원본참조).
- 특정 패키지를 검색하려면 왼쪽 위에 있는 검색 상자를 사용합니다.
- 각 패키지 ID 옆에 약어 정보를 표시하여 올바른 패키지를 식별할 수 있으며 선택한 패키지 원본에 따라 달라질 수 있습니다. 예를 들어 패키지 다운로드 수, 작성자 또는 소유자 프로필 하이퍼링크가 있습니다.
메모
Visual Studio 17.11 이상에서는 선택한 패키지 원본에서 지원하는 경우 패키지 소유자가 프로필 하이퍼링크로 표시됩니다. 패키지 소유권은 패키지 원본에 의해 정의됩니다. 예를 들어 nuget.org에서 패키지 소유자 관리를 참조하세요.
Visual Studio 17.10 및 이전 버전에서는 패키지의 작성자 메타데이터가 일반 텍스트로 표시됩니다. 자세한 내용은 Authors 패키지 메타데이터참조하세요.
- 패키지를 선택하여 자세한 패키지 정보를 확인합니다.
오른쪽의 세부 정보 창이 나타나고 설치할 버전을 선택할 수 있습니다.
패키지 세부 정보 탭 및 패키지 추가 정보 파일(패키지 작성자가 제공한 경우)에서 패키지 메타데이터, 소유자, 작성자, 라이선스 등에 대한 정보를 볼 수 있습니다.
오른쪽 창의 드롭다운 목록에서 버전 선택합니다. 버전 목록에 시험판 버전을 포함하려면 시험판포함을 선택합니다.
NuGet 패키지를 설치하려면 설치선택합니다. 사용 조건에 동의하라는 메시지가 표시되거나 설치를 확인하라는 메시지가 표시될 수 있습니다.
Visual Studio는 프로젝트에 패키지 및 해당 종속성을 설치합니다. 설치가 완료되면 추가된 패키지가 설치된 탭에 표시됩니다. 솔루션 탐색기프로젝트의 종속성>패키지 노드에서 패키지를 찾을 수도 있습니다. 패키지를 설치한 후 프로젝트에서
using
문을 사용하여 참조할 수 있습니다.(선택 사항) NuGet에는 프로젝트에서 패키지를 사용할 수 있는 두 가지 형식이 있습니다. PackageReference 및 packages.config. 기본 형식을 설정하려면 도구>옵션선택하고, NuGet 패키지 관리자 확장하고, 일반선택한 다음, 기본 패키지 관리 형식선택합니다. 자세한 내용은 기본 패키지 관리 형식 선택참조하세요.
패키지 제거
NuGet 패키지를 제거하려면 다음 단계를 수행합니다.
솔루션 탐색기프로젝트를 로드하고, Project>NuGet 패키지관리한 다음, 설치된 탭을 선택합니다.
왼쪽 창에서 제거할 패키지를 선택한 다음(필요한 경우 검색 상자를 사용하여 찾으세요), 그리고 오른쪽 창에서 제거를 선택하십시오.
패키지 업데이트
NuGet 패키지를 업데이트하려면 다음 단계를 수행합니다.
솔루션 탐색기프로젝트를 로드한 다음 Project>NuGet 패키지 관리선택합니다. 웹 사이트 프로젝트의 경우 먼저 Bin 폴더를 선택합니다.
업데이트 탭을 선택하여, 선택한 패키지 원본에서 제공하는 사용 가능한 업데이트가 있는 패키지를 확인하십시오. 업데이트 목록에 시험판 패키지를 포함하려면 시험판 포함을 선택합니다.
업데이트할 패키지를 선택합니다. 오른쪽 창의 드롭다운 목록에서 원하는 버전 선택한 다음 업데이트 선택합니다.
일부 패키지의 경우 업데이트 단추가 비활성화되고 SDK에서 암시적으로 참조하는 메시지가 나타납니다. 패키지를 업데이트하려면 패키지가 속한 SDK를 업데이트합니다. 이 메시지는 패키지가 더 큰 프레임워크 또는 SDK의 일부이며 독립적으로 업데이트할 수 없음을 나타냅니다. 이러한 패키지는 내부적으로
<IsImplicitlyDefined>True</IsImplicitlyDefined>
표시됩니다. 예를 들어Microsoft.NETCore.App
.NET Core SDK의 일부이며 패키지 버전은 애플리케이션에서 사용하는 런타임 프레임워크의 버전과 다릅니다. .NET Core 설치를 업데이트()하여 .NET Core의 새 버전을 다운로드하세요(). 자세한 내용은 .NET Core 메타패키지 및 버전 관리참조하세요. 이 시나리오는 일반적으로 사용되는 다음과 같은 패키지에 적용됩니다.- Microsoft.AspNetCore.All
- Microsoft.AspNetCore.App
- Microsoft.NETCore.App
- NETStandard.Library
여러 패키지를 최신 버전으로 업데이트하려면 NuGet 패키지 목록에서 선택한 다음 업데이트선택합니다.
설치된 탭에서 개별 패키지를 업데이트할 수 있습니다. 이 경우, 버전 및 시험판 포함 옵션을 선택할 수 있습니다.
솔루션에 대한 패키지 관리
솔루션에 대한 패키지를 관리하는 것은 여러 프로젝트를 동시에 사용하는 편리한 방법입니다.
Solution Manager에서 솔루션을 선택한 다음, Tools>에서 NuGet 패키지 관리자를 선택하고>솔루션용 NuGet 패키지 관리를 선택합니다.
솔루션용 NuGet 패키지 관리 창에서 작업의 영향을 받는 프로젝트를 선택합니다.
통합 탭
개발자는 일반적으로 동일한 솔루션의 여러 프로젝트에서 동일한 NuGet 패키지의 다른 버전을 사용하는 것이 좋지 않습니다. Visual Studio를 사용하면 NuGet 패키지에 공통 버전을 사용할 수 있습니다. 이렇게 하려면 NuGet 패키지 관리자 창의 통합 탭을 사용하여 솔루션의 여러 프로젝트에서 고유한 버전 번호를 가진 패키지가 사용되는 위치를 검색합니다.
이 예제에서 ClassLibrary1 프로젝트는 EntityFramework 6.2.0을 사용하는 반면 ConsoleApp1은 EntityFramework 6.1.0을 사용합니다. 패키지 버전을 통합하려면 다음 단계를 수행합니다.
통합 탭에서 프로젝트 목록에서 업데이트할 프로젝트를 선택합니다.
버전 목록에서 이러한 모든 프로젝트에 사용할 버전을 선택합니다.
설치선택합니다.
NuGet 패키지 관리자는 선택한 패키지 버전을 선택한 모든 프로젝트에 설치합니다. 그러면 패키지가 통합 탭에 더 이상 표시되지 않습니다.
패키지 소스
Visual Studio는 패키지 원본의 순서를 무시하고 요청에 가장 먼저 응답하는 원본의 패키지를 사용합니다. 자세한 내용은 복원 패키지를참조하세요. 특정 원본에서 패키지를 로드하는 방법에 대한 자세한 내용은 패키지 원본 매핑참조하세요.
NuGet 패키지 원본을 관리하려면 다음 단계를 수행합니다.
Visual Studio에서 패키지 메타데이터를 로드하는 원본을 변경하려면 패키지 원본 선택기에서 원본을 선택합니다.
패키지 원본을 관리하려면 설정 아이콘을 선택하거나 도구>옵션선택합니다.
옵션 창에서 NuGet 패키지 관리자 노드를 확장하고 패키지 원본을 선택합니다.
원본을 추가하려면 +선택하고 이름편집하고 원본URL 또는 경로를 입력한 다음 업데이트선택합니다.
이제 원본이 패키지 원본 드롭다운 목록에 표시됩니다.
패키지 원본을 변경하려면 패키지 원본을 선택하고 이름 편집하고 원본 상자를업데이트선택합니다.
패키지 원본을 사용하지 않도록 설정하려면 목록의 이름 왼쪽에 있는 상자를 선택 취소합니다.
패키지 원본을 제거하려면 패키지 원본을 선택한 다음 X 단추를 선택합니다.
패키지 원본을 삭제한 후 다시 나타나면 컴퓨터 수준 또는 사용자 수준 NuGet.config 파일에 나열될 수 있습니다. 이러한 파일의 위치는 일반적인 NuGet 구성을 참조하세요. 파일을 수동으로 편집하거나 nuget 원본 명령사용하여 파일에서 패키지 원본을 제거합니다.
NuGet 패키지 관리자 옵션 컨트롤
패키지를 선택하면 NuGet 패키지 관리자에 확장 가능한 옵션 컨트롤이 버전 선택기 아래에 표시됩니다. 대부분의 프로젝트 형식에서는 미리 보기 창 옵션만 제공됩니다.
다음 섹션에서는 사용 가능한 옵션을 설명합니다.
설치 및 업데이트 옵션
이러한 옵션은 특정 프로젝트 형식에 대해서만 사용할 수 있습니다.
종속성 동작: 이 옵션은 NuGet이 설치할 종속 패키지 버전을 결정하는 방법을 구성합니다. 다음과 같은 설정이 있습니다.
- 종속성 무시 종속성 설치를 건너뜁니다. 이는 일반적으로 설치되는 패키지를 중단합니다.
- 가장 낮은 [기본값]은 기본 선택한 패키지의 요구 사항을 충족하는 최소 버전 번호로 종속성을 설치합니다.
- 가장 높은 패치 주 버전과 부 버전 번호가 동일하지만 패치 번호가 가장 높은 버전을 설치합니다. 예를 들어 버전 1.2.2가 지정된 경우 1.2로 시작하는 가장 높은 버전이 설치됩니다.
- 가장 높은 부 주 버전 번호는 같지만 부 번호와 패치 번호가 가장 높은 버전을 설치합니다. 버전 1.2.2를 지정하면 1로 시작하는 가장 높은 버전이 설치됩니다.
- 가장 높은 패키지의 사용 가능한 가장 높은 버전을 설치합니다.
파일 충돌 작업: 이 옵션은 NuGet이 프로젝트 또는 로컬 컴퓨터에 이미 있는 패키지를 처리하는 방법을 지정합니다. 다음과 같은 설정이 있습니다.
- 프롬프트 NuGet에 기존 패키지를 유지할지 아니면 덮어쓸지 묻도록 지시합니다.
- 모든 무시하면 NuGet에 기존 패키지 덮어쓰기를 건너뛰도록 지시합니다.
- 모든 패키지 덮어쓰기는 NuGet에 기존 패키지를 덮어쓰도록 지시합니다.
제거 옵션
이러한 옵션은 특정 프로젝트 형식에 대해서만 사용할 수 있습니다.
종속성 제거: 선택한 경우 프로젝트의 다른 위치에서 참조되지 않는 경우 종속 패키지를 제거합니다.
종속성이 있더라도 강제 제거: 선택한 경우 프로젝트에서 여전히 참조되는 경우에도 패키지를 제거합니다. 이 옵션은 일반적으로 패키지 및 설치된 종속성을 제거하기 위해 종속성 제거 함께 사용됩니다. 그러나 이 옵션을 사용하면 프로젝트에서 참조가 끊어질 수 있습니다. 이러한 경우 다른 패키지를다시 설치해야 할 수 있습니다.
관련 비디오
참고
NuGet에 대한 자세한 내용은 다음 문서를 참조하세요.
- NuGet이란?
- 패키지 사용 워크플로
- 패키지 찾기 및 선택
- 프로젝트 파일 패키지 참조
- .NET CLI을 사용하여 패키지를 설치하고 사용하기.