Visual Studio에서 NuGet 패키지 관리자를 사용하여 패키지 설치 및 관리

Windows용 Microsoft Visual Studio의 NuGet 패키지 관리자 UI를 사용하면 프로젝트 및 솔루션에서 NuGet 패키지를 쉽게 설치, 제거 및 업데이트할 수 있습니다.

이 문서는 Windows 사용자만을 위한 것입니다. Mac용 Visual Studio 사용하는 경우 프로젝트에 NuGet 패키지 포함을 참조하세요.

필수 조건

  • Windows용 Visual Studio 2022를 설치합니다. NET 관련 워크로드.

    visualstudio.microsoft.com 2022 Community Edition을 무료로 설치하거나 Professional 또는 Enterprise 버전을 사용할 수 있습니다.

    Visual Studio 2017 이상에는 NuGet 패키지 관리자 자동으로 포함됩니다. NET 관련 워크로드가 설치됩니다. Visual Studio 설치 관리자 개별적으로 설치하려면 개별 구성 요소 탭을 선택한 다음 코드 도구에서 NuGet 패키지 관리자를 선택합니다.

    Visual Studio 2015의 경우 NuGet 패키지 관리자 누락된 경우 도구>확장 및 업데이트 검사NuGet 패키지 관리자 확장을 검색합니다. Visual Studio에서 확장 설치 관리자를 사용할 수 없는 경우 https://dist.nuget.org/index.html에서 직접 확장을 다운로드합니다.

  • 아직 없는 경우 nuget.org에 체험 계정을 등록합니다. NuGet 패키지를 업로드하려면 먼저 계정을 등록하고 확인해야 합니다.

패키지 찾기 및 설치

Visual Studio에서 NuGet 패키지를 찾아 설치하려면 다음 단계를 수행합니다.

  1. 솔루션 탐색기 프로젝트를 로드한 다음 프로젝트 관리 NuGet 패키지를 선택합니다>.

    NuGet 패키지 관리자 창이 열립니다.

  2. 찾아보기 탭을 선택하여 현재 선택한 원본에서 인기 있는 패키지를 표시합니다(패키지 원본 참조). 특정 패키지를 검색하려면 왼쪽 위에 있는 검색 상자를 사용합니다. 목록에서 패키지를 선택하여 오른쪽 창에 해당 정보를 표시합니다. 그러면 설치할 버전을 선택할 수 있습니다.

    Screenshot showing the NuGet Package Manager window with the Browse tab selected.

  3. 오른쪽 창의 드롭다운 목록에서 버전을 선택합니다. 버전 목록에 시험판 버전을 포함하려면 시험판 포함을 선택합니다.

  4. NuGet 패키지를 설치하려면 설치를 선택합니다. 사용 조건에 동의하라는 메시지가 표시되거나 설치를 확인하라는 메시지가 표시될 수 있습니다.

    Visual Studio는 프로젝트에 패키지 및 해당 종속성을 설치합니다. 설치가 완료되면 추가된 패키지가 설치된 탭에 표시됩니다. 솔루션 탐색기 프로젝트의 종속성>패키지 노드에서 패키지를 찾을 수도 있습니다. 패키지를 설치한 후에는 명령문을 사용하여 프로젝트에서 using 패키지를 참조할 수 있습니다.

  5. (선택 사항) NuGet에는 프로젝트에서 패키지를 사용할 수 있는 두 가지 형식인 PackageReferencepackages.config가 있습니다. 기본 형식을 설정하려면 도구>옵션을 선택하고, NuGet 패키지 관리자 확장하고, 일반을 선택한 다음, 기본 패키지 관리 형식선택합니다. 자세한 내용은 기본 패키지 관리 형식 선택을 참조 하세요.

패키지 제거

NuGet 패키지를 제거하려면 다음 단계를 수행합니다.

  1. 솔루션 탐색기 프로젝트를 로드하고, NuGet 패키지 관리 프로젝트를>선택한 다음, 설치된 탭을선택합니다.

  2. 왼쪽 창에서 제거할 패키지를 선택한 다음(필요한 경우 검색 상자를 사용하여 찾기), 오른쪽 창에서 제거를 선택합니다.

    Screenshot showing the NuGet Package Manager with a package selected and its Uninstall button highlighted.

패키지 업데이트

NuGet 패키지를 업데이트하려면 다음 단계를 수행합니다.

  1. 솔루션 탐색기 프로젝트를 로드한 다음 프로젝트 관리 NuGet 패키지를 선택합니다>. 웹 사이트 프로젝트의 경우 먼저 Bin 폴더를 선택합니다.

  2. 업데이트 탭을 선택하여 선택한 패키지 원본에서 사용 가능한 업데이트가 있는 패키지를 확인합니다. 업데이트 목록에 시험판 패키지를 포함하려면 시험판 포함을 선택합니다.

  3. 업데이트할 패키지를 선택합니다. 오른쪽 창의 드롭다운 목록에서 원하는 버전을 선택한 다음 업데이트를 선택합니다.

    Screenshot showing the NuGet Package Manager with a package selected and its Update button highlighted.

  4. 일부 패키지의 경우 업데이트 단추가 비활성화되고 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

    Screenshot showing a NuGet package with the Update button disabled.

  5. 여러 패키지를 최신 버전으로 업데이트하려면 NuGet 패키지 목록에서 선택한 다음 업데이트를 선택합니다.

  6. 설치된 탭에서 개별 패키지를 업데이트할 수도 있습니다. 이 경우 버전시험판 포함 옵션을 선택할 수도 있습니다.

솔루션 패키지 관리

솔루션에 대한 패키지를 관리하는 것은 여러 프로젝트를 동시에 사용하는 편리한 방법입니다.

  1. 솔루션 관리자에서 솔루션을 선택한 다음 도구 NuGet 패키지 관리자> 솔루션용 NuGet 패키지 관리를 선택합니다>.

  2. 솔루션용 NuGet 패키지 관리 창에서 작업의 영향을 받는 프로젝트를 선택합니다.

    Screenshot showing the Manage Packages for Solution window with multiple projects selected.

통합 탭

개발자들은 일반적으로 동일한 솔루션의 여러 프로젝트에서 동일한 NuGet 패키지의 여러 버전을 사용하는 것이 적절하지 않다고 생각합니다. Visual Studio를 사용하면 NuGet 패키지에 공통 버전을 사용할 수 있습니다. 이렇게 하려면 NuGet 패키지 관리자 창의 통합 탭을 사용하여 솔루션의 다른 프로젝트에서 고유한 버전 번호를 가진 패키지가 사용되는 위치를 검색합니다.

Screenshot showing the Manage Packages for Solution window with the Consolidate tab selected.

이 예제에서 ClassLibrary1 프로젝트는 EntityFramework 6.2.0을 사용하지만, ConsoleApp1는 EntityFramework 6.1.0을 사용합니다. 패키지 버전을 통합하려면 다음 단계를 수행합니다.

  1. 통합 탭에서 프로젝트 목록에서 업데이트할 프로젝트를 선택합니다.

  2. 버전 목록에서 이러한 모든 프로젝트에 사용할 버전을 선택합니다.

  3. 설치를 선택합니다.

    NuGet 패키지 관리자 선택한 모든 프로젝트에 선택한 패키지 버전을 설치합니다. 그러면 패키지가 더 이상 통합 탭에 나타나지 않습니다.

패키지 원본

Visual Studio는 패키지 원본의 순서를 무시하고 요청에 가장 먼저 응답하는 원본의 패키지를 사용합니다. 자세한 내용은 패키지 복원을 참조 하세요. 특정 원본에서 패키지를 로드하는 방법에 대한 자세한 내용은 패키지 원본 매핑을 참조 하세요.

NuGet 패키지 원본을 관리하려면 다음 단계를 수행합니다.

  1. Visual Studio에서 패키지 메타데이터를 로드하는 원본을 변경하려면 패키지 원본 선택기에서 원본을 선택합니다.

    Screenshot showing the Package source selector highlighted.

  2. 패키지 원본을 관리하려면 설정 아이콘을 선택하거나 도구>옵션을 선택합니다.

    Screenshot showing the Package source settings icon highlighted.

  3. 옵션 창에서 NuGet 패키지 관리자 노드를 확장하고 패키지 원본을 선택합니다.

    Screenshot showing the Options window with Package Sources selected.

  4. 원본을 추가하려면 이름을 편집+하고 원본URL 또는 경로를 입력한 다음 업데이트를 선택합니다.

    이제 원본이 패키지 원본 드롭다운 목록에 표시됩니다.

  5. 패키지 원본을 변경하려면 해당 패키지 원본을 선택하고 이름원본 상자에서 편집한 후 업데이트를 선택합니다.

  6. 패키지 원본을 사용하지 않도록 설정하려면 목록에서 이름 왼쪽에 있는 확인란을 선택 취소합니다.

  7. 패키지 원본을 제거하려면 패키지 원본을 선택한 다음 X 단추를 선택합니다.

    패키지 원본을 삭제한 후 다시 나타나면 컴퓨터 수준 또는 사용자 수준 NuGet.config 파일에 나열될 수 있습니다. 이러한 파일의 위치는 공통 NuGet 구성을 참조 하세요. 수동으로 편집하거나 nuget 원본 명령을 사용하여 파일에서 패키지 원본을 제거합니다.

NuGet 패키지 관리자 옵션 컨트롤

패키지를 선택하면 NuGet 패키지 관리자 버전 선택기 아래에 확장 가능한 옵션 컨트롤이 표시됩니다. 대부분의 프로젝트 형식에서는 미리 보기 창 표시 옵션만 제공됩니다.

Screenshot showing the NuGet Package manager Options control expanded.

다음 섹션에서는 사용 가능한 옵션을 설명합니다.

설치 및 업데이트 옵션

이러한 옵션은 특정 프로젝트 형식에 대해서만 사용할 수 있습니다.

  • 종속성 동작: 이 옵션은 NuGet이 설치할 종속 패키지 버전을 결정하는 방법을 구성합니다. 다음과 같은 설정이 있습니다.

    • 종속성을 무시하면 종속성 설치가 건너뜁니다. 일반적으로 설치되는 패키지가 중단됩니다.
    • 최하위[기본값]는 선택한 기본 패키지의 요구 사항을 충족하는 최소 버전 번호의 종속성을 설치합니다.
    • 최상위 패치는 주 및 부 버전 번호는 같지만 최상위 패치 번호는 다른 버전을 설치합니다. 예를 들어, 버전 1.2.2를 지정한 경우 1.2로 시작하는 최고 버전이 설치됩니다.
    • 최상위 부는 주 버전 번호는 같지만 최상위 부 번호와 패치 번호는 다른 버전을 설치합니다. 버전 1.2.2를 지정한 경우 1로 시작하는 최고 버전이 설치됩니다.
    • 최상위는 패키지의 사용 가능한 최상위 버전을 설치합니다.
  • 파일 충돌 작업: 이 옵션은 NuGet이 프로젝트 또는 로컬 컴퓨터에 이미 있는 패키지를 처리하는 방법을 지정합니다. 다음과 같은 설정이 있습니다.

    • 프롬프트는 기존 패키지를 유지할지 아니면 덮어쓸지 묻는 메시지를 요청하도록 NuGet에 지시합니다.
    • 모두 무시는 기존 패키지 덮어쓰기를 건너뛰도록 NuGet에 지시합니다.
    • 모두 덮어쓰기는 기존 패키지를 덮어쓰도록 NuGet에 지시합니다.

제거 옵션

이러한 옵션은 특정 프로젝트 형식에 대해서만 사용할 수 있습니다.

  • 종속성 제거: 선택한 경우 프로젝트의 다른 위치에서 참조되지 않는 경우 종속 패키지를 제거합니다.

  • 종속성이 있는 경우에도 강제로 제거합니다. 선택한 경우 프로젝트에서 여전히 참조되는 경우에도 패키지를 제거합니다. 이 옵션은 일반적으로 패키지 및 설치된 종속성을 제거하기 위해 종속성 제거와 함께 사용됩니다. 그러나 이 옵션을 사용하면 프로젝트에서 참조가 손상될 수 있습니다. 이러한 경우 다른 패키지를 다시 설치해야 할 수 있습니다.

참고 항목

NuGet에 대한 자세한 내용은 다음 문서를 참조하세요.