dotnet add package

이 문서의 적용 대상: ✔️ .NET Core 3.1 SDK 이상 버전

이름

dotnet add package - 프로젝트 파일에 패키지 참조를 추가하거나 업데이트합니다.

개요

dotnet add [<PROJECT>] package <PACKAGE_NAME>
    [-f|--framework <FRAMEWORK>] [--interactive]
    [-n|--no-restore] [--package-directory <PACKAGE_DIRECTORY>]
    [--prerelease] [-s|--source <SOURCE>] [-v|--version <VERSION>]

dotnet add package -h|--help

설명

dotnet add package 명령은 프로젝트 파일에서 패키지 참조를 추가하거나 업데이트하는 편리한 옵션을 제공합니다. 명령을 실행하면 패키지가 프로젝트의 프레임워크와 호환되는지 확인하기 위한 호환성 검사가 수행됩니다. 검사에 통과하고 패키지가 프로젝트 파일에서 참조되지 않으면 <PackageReference> 요소가 프로젝트 파일에 추가됩니다. 검사에 통과하고 패키지가 이미 프로젝트 파일에서 참조되는 경우 <PackageReference> 요소가 최신 호환 버전으로 업데이트됩니다. 프로젝트 파일이 업데이트된 후 dotnet restore가 실행됩니다.

예를 들어 Microsoft.EntityFrameworkCoreToDo.csproj에 추가하면 다음 예제와 유사한 출력이 생성됩니다.

  Determining projects to restore...
  Writing C:\Users\username\AppData\Local\Temp\tmp24A8.tmp
info : Adding PackageReference for package 'Microsoft.EntityFrameworkCore' into project 'C:\ToDo\ToDo.csproj'.
info :   CACHE https://api.nuget.org/v3/registration5-gz-semver2/microsoft.entityframeworkcore/index.json
info :   GET https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/516521bf-6417-457e-9a9c-0a4bdfde03e7/nuget/v3/registrations2-semver2/microsoft.entityframeworkcore/index.json
info :   CACHE https://api.nuget.org/v3/registration5-gz-semver2/microsoft.entityframeworkcore/page/0.0.1-alpha/3.1.3.json
info :   CACHE https://api.nuget.org/v3/registration5-gz-semver2/microsoft.entityframeworkcore/page/3.1.4/7.0.0-preview.2.22153.1.json
info :   CACHE https://api.nuget.org/v3/registration5-gz-semver2/microsoft.entityframeworkcore/page/7.0.0-preview.3.22175.1/7.0.0-preview.3.22175.1.json
info :   NotFound https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/516521bf-6417-457e-9a9c-0a4bdfde03e7/nuget/v3/registrations2-semver2/microsoft.entityframeworkcore/index.json 257ms
info : Restoring packages for C:\ToDo\ToDo.csproj...
info : Package 'Microsoft.EntityFrameworkCore' is compatible with all the specified frameworks in project 'C:\ToDo\ToDo.csproj'.
info : PackageReference for package 'Microsoft.EntityFrameworkCore' version '6.0.4' added to file 'C:\ToDo\ToDo.csproj'.
info : Writing assets file to disk. Path: C:\ToDo\obj\project.assets.json
log  : Restored C:\ToDo\ToDo.csproj (in 171 ms).

이제 ToDo.csproj 파일에 참조되는 패키지에 대한 <PackageReference> 요소가 포함됩니다.

<PackageReference Include="Microsoft.EntityFrameworkCore" Version="6.0.4" />

암시적 복원

dotnet new, dotnet build, dotnet run, dotnet test, dotnet publishdotnet pack 등 복원이 필요한 모든 명령에 의해 암시적으로 실행되므로 dotnet restore를 실행할 필요가 없습니다. 암시적 복원을 사용하지 않으려면 --no-restore 옵션을 사용합니다.

dotnet restore 명령은 Azure DevOps Services의 연속 통합 빌드 또는 복원 발생 시점을 명시적으로 제어해야 하는 빌드 시스템과 같이 명시적으로 복원이 가능한 특정 시나리오에서 여전히 유용합니다.

NuGet 피드를 관리하는 방법에 대한 자세한 내용은 dotnet restore 설명서를 참조하세요.

인수

  • PROJECT

    프로젝트 파일을 지정합니다. 지정하지 않으면 이 명령은 현재 디렉터리에서 검색합니다.

  • PACKAGE_NAME

    추가할 패키지 참조입니다.

옵션

  • -f|--framework <FRAMEWORK>

    특정 프레임워크를 대상으로 하는 경우에만 패키지 참조를 추가합니다.

  • -?|-h|--help

    명령을 사용하는 방법에 대한 설명을 출력합니다.

  • --interactive

    명령이 중지되고 사용자 입력 또는 작업을 대기할 수 있도록 허용합니다. 예를 들어 인증을 완료합니다.

  • -n|--no-restore

    복원 미리 보기 및 호환성 검사를 수행하지 않고 패키지 참조를 추가합니다.

  • --package-directory <PACKAGE_DIRECTORY>

    패키지를 복원할 디렉터리입니다. 기본 패키지 복원 위치는 Windows에서는 %userprofile%\.nuget\packages이고, macOS 및 Linux에서는 ~/.nuget/packages입니다. 자세한 내용은 NuGet에서 글로벌 패키지, 캐시 및 임시 폴더 관리를 참조하세요.

  • --prerelease

    시험판 패키지를 설치할 수 있습니다. .NET Core 5 SDK부터 사용할 수 있습니다.

  • -s|--source <SOURCE>

    복원 작업 중에 사용할 NuGet 패키지 소스의 URI입니다.

  • -v|--version <VERSION>

    패키지의 버전입니다. NuGet 패키지 버전 관리를 참조하세요.

예제

  • Microsoft.EntityFrameworkCore NuGet 패키지를 프로젝트에 추가합니다.

    dotnet add package Microsoft.EntityFrameworkCore
    
  • 특정 버전의 패키지를 프로젝트에 추가합니다.

    dotnet add ToDo.csproj package Microsoft.Azure.DocumentDB.Core -v 1.0.0
    
  • 특정 NuGet 소스를 사용하여 패키지를 추가합니다.

    dotnet add package Microsoft.AspNetCore.StaticFiles -s https://dotnet.myget.org/F/dotnet-core/api/v3/index.json
    

참고 항목