다음을 통해 공유


프로젝트에 대한 NuGet 패키지 찾기 및 평가

.NET 프로젝트를 시작하거나 앱 또는 서비스에서 기능적 필요를 식별할 때 기존 NuGet 패키지를 설치하여 고유한 패키지를 만드는 데 걸리는 시간과 문제를 줄일 수 있습니다. 기존 패키지는 nuget.org 공개 컬렉션 또는 조직 또는 다른 당사자가 제공하는 개인 원본에서 제공 될 수 있습니다.

패키지 찾기

nuget.org 원본으로 사용하는 Visual Studio 패키지 관리자 UI 또는 패키지 관리자 콘솔에서 직접 https://nuget.org/packages패키지를 찾을 수 있습니다. nuget.org 모든 패키지는 바이러스를 정기적으로 검사합니다.

nuget.org/packages 먼저 나열된 모든 .NET 프로젝트에서 가장 인기 있는 패키지가 있는 NuGet 패키지 목록이 표시됩니다. 이러한 패키지 중 일부는 프로젝트에 유용할 수 있습니다.

Screenshot that shows the default view of nuget.org/packages with the most popular packages at the top.

패키지를 검색하려면 페이지 맨 위에 있는 검색 상자에 패키지 이름 또는 검색어를 입력합니다. 고급 검색 구문을 사용하여 검색을 필터링할 수 있습니다.

고급 데이터 필터링 및 분류

nuget.org/packages 고급 필터링 및 정렬 옵션을 사용하여 검색 결과를 구체화할 수 있습니다.

Screenshot that shows the filtering and sorting options on nuget.org.

프레임워크 필터를 사용하여 특정 .NET 프레임워크를 대상으로 하는 패키지를 표시합니다(자세한 내용은 대상 프레임워크 참조).

  • .NET Framework 생성 검사 상자 중 하나를 선택하면 검색 결과를 해당 세대 내의 개별 대상 프레임워크와 호환되는 패키지로 필터링합니다. 예를 들어 선택하면 다음을 .NET 포함하여 net5.0net8.0최신 .NET 프레임워크와 호환되는 패키지가 반환됩니다.

    Screenshot that shows the Framework filters on nuget.org.

  • 오른쪽에 화살표가 있는 이러한 프레임워크 세대 중 하나를 확장하면 결과를 필터링할 수 있는 개별 TFM(대상 프레임워크 모니커)이 표시됩니다. 예를 들어 선택하면 net5.0 '.NET 5.0' 프레임워크와 호환되는 패키지가 반환됩니다.

  • 기본적으로 패키지는 확장된 컴퓨팅 호환 프레임워크 목록으로 필터링됩니다. 패키지가 명시적으로 대상으로 하는 자산 프레임워크로만 패키지를 필터링하려면 호환되는 프레임워크 포함 검사box의 선택을 취소합니다.

  • 여러 프레임워크 필터를 결합하면 선택한 모든 필터와 일치하는 검색 결과(예: 선택 영역의 교집합에 속하는 패키지)가 표시됩니다. 예를 들어 선택하고 함께 선택하면 netcoreapp3.1net45 '.NET Core 3.1' 및 '.NET Framework 4.5'를 모두 대상으로 하는 패키지가 표시됩니다. .NET Core 프레임워크 생성 검사box와 net45 검사box를 함께 선택하면 '.NET Framework 4.5'를 대상으로 하는 패키지와 '.NET Core' TFM 중 하나 이상을 반환합니다(netcoreapp1.0통해netcoreapp3.1).

    • 또는 프레임워크 필터 중 하나와 일치하는 패키지를 보려면 프레임워크 필터 모드 옵션에서 임의의 라디오 단추를 선택합니다. 이제 '.NET Core 3.1' 또는 '.NET 5.0'을 대상으로 하는 패키지를 선택하고 netcoreapp3.1net5.0 표시합니다. 검사box 및 .NET 프레임워크 생성 검사box를 netcoreapp3.1 함께 선택하면 '.NET Core 3.1' 또는 '중 하나를 대상으로 하는 패키지가 반환됩니다. NET' TFM(net5.0~net8.0).
  • 패키지의 지원되는 프레임워크 및 프로젝트 와의 호환성을 평가하는 방법에 대해 자세히 알아볼 수 있습니다.

패키지 형식 필터를 사용하여 특정 형식의 패키지를 표시합니다.

기본적으로 NuGet은 시험판 및 베타 버전을 포함하여 패키지의 모든 버전을 나열합니다. 옵션 섹션에서 시험판 포함 검사 상자의 선택을 취소하여 안정적이고 릴리스된 패키지 버전만 나열합니다.

변경 내용을 적용하려면 적용을 선택합니다. 기본값으로 돌아가려면 다시 설정을 선택합니다.

페이지의 오른쪽 위에 있는 정렬 기준 드롭다운을 사용하여 목록을 몇 가지 기준으로 정렬합니다.

  • 관련성 은 기본값이며 내부 채점 알고리즘에 따라 결과를 정렬합니다.
  • 다운로드는 총 다운로드 수를 기준으로 검색 결과를 내림차순으로 정렬합니다.
  • 최근에 업데이트 된 항목은 최신 패키지 버전 생성 날짜별로 검색 결과를 내림차순으로 정렬합니다.

검색 구문

nuget.org, NuGet CLI 및 Visual Studio 내에서 패키지 검색 쿼리는 모두 동일한 구문을 사용합니다. Azure Artifacts 또는 GitHub 패키지 리포지토리와 같은 다른 패키지 원본은 다른 구문을 사용하거나 고급 필터링을 지원하지 않을 수 있습니다.

  • 구문을 사용하여 패키지id, ,, versiontitle, tags, author, summarydescription또는 owner 속성을 검색할 수 있습니다<property>:<term>. packageid

  • 검색은 키워드(keyword) 및 설명에 적용되며 대/소문자를 구분하지 않습니다. 예를 들어 다음 문자열은 모두 문자열nuget.coreid 대한 속성을 검색합니다.

    id:NuGet.Core
    ID:nuget.core
    Id:NUGET.CORE

  • 속성 일치 id 부분 문자열을 검색하고 packageidowner 대/소문자를 구분하지 않는 정확한 일치 항목을 사용합니다. 예시:

    PackageId:jquery 는 정확한 패키지 ID jquery를 검색합니다.
    Id:jquery 는 문자열 jquery이 포함된 모든 패키지 ID를 검색합니다.

  • 동시에 여러 값 또는 속성을 검색할 수 있습니다. 예시:

    id:jquery id:ui 속성에서 여러 용어를 검색합니다 id .
    id:jquery tags:validation 는 여러 속성을 검색합니다.

  • 검색은 지원되지 않는 속성을 무시하므로 invalid:jquery ui 검색 ui과 동일하며 invalid:jquery 모든 패키지를 반환합니다.

지원되는 프레임워크 확인

NuGet은 패키지의 지원되는 .NET 프레임워크에 프로젝트의 대상 프레임워크가 포함된 경우에만 프로젝트에 패키지를 설치합니다. 패키지가 호환되지 않으면 NuGet에서 오류가 발생합니다.

패키지에서 지원하는 프레임워크를 결정하는 방법에는 여러 가지가 있습니다.

  • 검색 페이지에서 패키지의 지원되는 프레임워크는 패키지 ID 아래에 배지로 표시됩니다. 이러한 배지는 .NET, .NET Core, .NET Standard.NET Framework 세대에서 지원되는 가장 낮은 프레임워크 버전을 보여 줍니다. 패키지는 표시된 배지 버전보다 크거나 같은 프레임워크 버전과 호환됩니다.

    '진한 파란색' 배지는 명시적으로 대상 프레임워크를 나타내고 '연한 파란색' 배지는 컴퓨팅 호환 프레임워크를 나타냅니다.

    배지를 클릭하면 nuget.org 패키지의 세부 정보 페이지로 리디렉션됩니다. 패키지 페이지의 프레임워크 탭에는 지원되는 프레임워크의 전체 목록이 표시됩니다.

    Screenshot of the Framework badges on nuget.org's search page.

  • nuget.org 패키지 페이지에서 지원되는 프레임워크는 패키지 ID 아래와 프레임워크 탭에 표시되지만 모든 패키지에 지원되는 프레임워크가 표시되지는 않습니다.

    Screenshot of the Frameworks UI and tab on the package page at nuget.org.

  • 정보에서 패키지 다운로드를 선택하여 패키지를 수동으로 다운로드합니다. 다운로드한 패키지의 파일 확장자를 .nupkg에서 .zip 변경하고, .zip 폴더를 열고, 해당 lib 폴더를 검사합니다. 지원되는 각 프레임워크에 대해 각각 TFM(대상 프레임워크 모니커)으로 명명된 하위 폴더가 있습니다. 자세한 내용은 대상 프레임워크를 참조 하세요. lib 아래에 하위 폴더가 없고 단일 DLL만 있는 경우 패키지를 설치하여 호환성을 검색합니다.

  • Visual Studio 패키지 관리자 콘솔에서 Install-Package를 사용하여 프로젝트에 패키지를 설치해 봅니다. 패키지가 호환되지 않으면 콘솔 출력에 패키지의 지원되는 프레임워크가 표시됩니다.

시험판 패키지

많은 패키지 작성자는 최신 수정 버전에 대한 피드백을 지속적으로 개선하고 검색하면서 미리 보기 및 베타 릴리스를 제공합니다. 기본적으로 nuget.org 패키지 목록 및 검색 결과에 시험판 패키지를 표시합니다.

안정적인 릴리스만 나열하고 검색하려면 다음을 수행합니다.

  • nuget.org 고급 검색 패널에서 시험판 포함 검사 상자의 선택을 취소합니다.
  • Visual Studio NuGet 패키지 관리자 UI에서 검색 상자 옆에 있는 시험판 포함 검사 상자의 선택을 취소합니다.

Visual Studio 패키지 관리자 콘솔, NuGet CLI 및 dotnet CLI 도구는 기본적으로 시험판 버전을 포함하지 않습니다. 시험판 버전을 포함하려면 다음을 수행합니다.

  • 패키지 관리자 콘솔에서 , Get-Package, Install-PackageSync-Package및 명령과 Update-Package 함께 Find-Package스위치를 사용합니다-IncludePrerelease. 자세한 내용은 PowerShell 참조를 참조하세요.

  • NuGet CLI의 경우 , update및 명령과 mirror 함께 install스위치를 사용합니다 -prereleasedelete. 자세한 내용은 NuGet CLI 참조를 참조하세요.

  • dotnet CLI의 경우 인수를 사용하여 시험판 버전을 -v 지정합니다. 자세한 내용은 dotnet 패키지 추가 참조를 참조하세요.

네이티브 C++ 패키지

Visual Studio C++ 프로젝트는 네이티브 C++ NuGet 패키지를 사용할 수 있습니다. 이러한 패키지를 설치하면 NuGet 패키지 관리 상황에 맞는 메뉴 명령을 사용하도록 설정하고 대상 프레임워크를 native 노출하며 MSBuild 통합을 제공합니다.

nuget.org/packages 네이티브 패키지를 찾으려면 .를 사용하여 tag:native검색합니다. 이러한 패키지는 일반적으로 패키지를 추가할 때 NuGet에서 자동으로 가져오는 .targets 및 .props 파일을 제공합니다.

패키지 평가

패키지의 유용성을 평가하는 가장 좋은 방법은 사용해보는 것입니다. 패키지를 사용할 때 패키지에 대한 종속성을 사용하므로 강력하고 신뢰할 수 있는지 확인해야 합니다. 그러나 패키지를 설치하고 직접 테스트하는 것은 시간이 많이 걸립니다. nuget.org/packages 패키지 페이지의 정보를 사용하여 패키지 품질에 대해 많은 것을 배울 수 있습니다.

  • 패키지 목록 및 패키지 페이지의 패키지 ID 옆에 예약된 접두사 검사 표시는 패키지 소유자가 예약된 패키지 ID 접두사를 적용하고 부여했음을 의미합니다. ID 접두사 예약 조건을 충족하려면 패키지 소유자가 자신과 해당 패키지를 명확하게 식별해야 합니다.

    Screenshot that shows Prefix Reserved on a package's page.

  • 패키지 페이지의 오른쪽 열에 있는 다운로드는 합계, 현재 버전일일 평균 다운로드를 보여 줍니다. 많은 수의 패키지가 많은 개발자들 사이에서 입증되었음을 나타냅니다.

    Screenshot that shows Download statistics on a package's page.

    다운로드 옆에 있는 전체 통계를 선택하여 버전 번호별로 지난 6주 동안의 패키지 다운로드를 보여 주는 페이지를 확인합니다. 더 많은 개발자가 사용하는 버전은 일반적으로 더 나은 선택입니다.

  • 패키지 페이지의 사용된 방법 탭에는 이 패키지에 의존하는 상위 5개의 가장 인기 있는 nuget.org 패키지 및 GitHub 리포지토리가 표시됩니다. 이 패키지에 종속된 패키지 및 리포지토리를 종속이라고 합니다. 종속 패키지 및 리포지토리는 신뢰하고 의존하도록 선택했기 때문에 이 패키지를 보증하는 것으로 볼 수 있습니다.

    Screenshot that shows the Used By list.

    종속 패키지의 안정적인 최신 버전은 이 패키지의 모든 버전에 따라 달라야 합니다. 이 정의는 나열된 종속 패키지가 패키지를 신뢰하고 종속하기 위한 패키지 작성자의 결정을 최신 상태로 반영하도록 합니다. 종속성 목록은 아직 진심어린 보증으로 간주되지 않으므로 시험판 종속을 표시하지 않습니다. 다음 예제에서는 종속성으로 표시되는 패키지를 보여 줍니다.

    종속 패키지 버전 종속 패키지가 종속 패키지로 나열되었나요?
    v1.0.0
    v1.1.0(안정적인 최신 버전)은 이 패키지에 따라 달라집니다.
    v1.2.0-미리 보기
    TRUE, 안정적인 최신 버전은 이 패키지에 따라 달라집니다.
    v1.0.0은 이 패키지에 따라 달라집니다.
    v1.1.0(안정적인 최신 버전)
    v1.2.0-미리 보기
    FALSE, 안정적인 최신 버전은 이 패키지에 의존하지 않습니다.
    v1.0.0은 이 패키지에 따라 달라집니다.
    v1.1.0(안정적인 최신 버전)
    v1.2.0-preview는 이 패키지에 따라 달라집니다.
    FALSE, 안정적인 최신 버전은 이 패키지에 의존하지 않습니다.

    GitHub 리포지토리의 별 수는 GitHub 사용자에 대한 인기를 나타냅니다. GitHub 스타 및 리포지토리 순위 시스템에 대한 자세한 내용은 별 정보 정보를 참조하세요.

    참고 항목

    Used By 섹션은 사용자 검토 없이 정보 제공 목적으로만 주기적으로 자동으로 생성됩니다.

  • 패키지 페이지의 버전 탭에는 패키지 버전의 버전, 다운로드, 마지막 업데이트 날짜 및 심각한 취약성이 표시됩니다. 설치하는 버전에는 심각도가 높은 취약성이 없어야 합니다. 잘 기본 패키지에는 최근 업데이트와 긴 버전 기록이 있습니다. 무시된 패키지에는 몇 가지 오래 전에 업데이트가 있습니다.

    Screenshot that shows the Versions list.

패키지 페이지의 오른쪽 열에는 다음과 같은 다른 정보 제공 링크가 있습니다.

Screenshot that shows the right column of the package page.

  • 사용할 수 있는 경우 Project 웹 사이트를 선택하여 작성자가 제공하는 지원 옵션을 확인합니다. 전용 사이트가 있는 프로젝트는 일반적으로 잘 지원됩니다.

  • 원본 리포지토리를 선택하여 패키지의 Git 소스 코드 리포지토리로 이동합니다. 많은 작성자가 오픈 소스 리포지토리에서 패키지를 기본 사용자가 버그 수정 및 기능 향상에 직접 기여할 수 있도록 합니다. 패키지의 기여 기록은 얼마나 많은 개발자가 적극적으로 참여하고 있는지를 나타내는 좋은 지표입니다.

  • 라이선스 유형> 라이선스를 선택하여 <패키지의 MIT 또는 기타 라이선스를 확인합니다. 패키지에서 사용 조건을 지정하지 않으면 패키지 소유자에게 문의하세요.

  • 소유자 아래에서 패키지 소유자를 선택하여 게시한 다른 패키지를 확인합니다. 패키지가 여러 개 있는 소유자는 작업을 계속 지원할 가능성이 높습니다. 소유자 옆에 있는 연락처 소유자선택하여 패키지 개발자에게 직접 연락합니다.

라이선스 정보 검색

일부 NuGet 클라이언트 및 NuGet 피드는 라이선스 정보를 표시하지 못할 수 있습니다. 이러한 경우 이전 버전과의 호환성을 기본 위해 라이선스 URL은 라이선스 정보를 검색하는 방법에 대해 이 문서를 가리킵니다.

패키지에 대한 라이선스 URL을 선택하면 이 페이지로 이동하면 패키지에 라이선스 파일이 포함되고 다음이 포함됩니다.

  • 라이선스 정보를 해석하고 클라이언트에 표시하는 방법을 모르는 피드에 연결되어 있거나
  • 피드에서 제공하는 라이선스 정보를 해석하고 읽는 방법을 모르는 클라이언트를 사용 중이거나
  • 이러한 두 시나리오의 조합입니다.

패키지 내의 라이선스 파일에서 정보를 읽으려면 다음을 수행합니다.

  1. 패키지를 수동으로 다운로드하고 폴더에 콘텐츠 압축을 풉니다.
  2. 폴더의 루트에서 .nuspec 파일을 엽니다.
  3. 와 같은 <license type="file">license\license.txt</license>태그를 <license> 검사합니다. 예제 태그는 라이선스 파일의 이름이 license.txt 라이선스라는 하위 폴더 내에 있음을 명시합니다.
  4. 지정된 위치로 이동하여 지정된 파일을 엽니다.

.nuspec에서 라이선스를 설정하는 것과 동등한 MSBuild에 대한 자세한 내용은 라이선스 식 또는 라이선스 파일 압축을 참조하세요.

다음 단계