다음을 통해 공유


restore 명령(NuGet CLI)

적용 대상: 패키지 사용 • 지원되는 버전: 2.7 이상

폴더에서 packages 누락된 패키지를 다운로드하여 설치합니다. NuGet 4.0 이상 및 PackageReference 형식과 함께 사용하는 경우 필요한 경우 폴더에 obj 파일을 생성합니다<project>.nuget.props. (소스 제어에서 파일을 생략할 수 있습니다.)

Mono의 CLI를 사용하는 Mac OSX 및 Linux에서는 PackageReference에서 패키지 복원이 지원되지 않습니다.

사용

nuget restore <projectPath> [options]

솔루션 또는 파일의 위치를 지정하는 위치 <projectPath> 입니다 packages.config . 동작 세부 정보는 아래의 비고를 참조하세요.

옵션

  • -ConfigFile

    적용할 NuGet 구성 파일입니다. 지정 %AppData%\NuGet\NuGet.Config 하지 않으면(Windows) 또는 ~/.nuget/NuGet/NuGet.Config~/.config/NuGet/NuGet.Config (Mac/Linux)가 사용됩니다.

  • -DirectDownload

    (4.0 이상) 이진 파일 또는 메타데이터로 캐시를 채웁니다.

  • -DisableParallelProcessing

    여러 패키지를 병렬로 복원하지 않도록 설정합니다.

  • -FallbackSource

    (3.2 이상) 기본 또는 기본 원본에서 패키지를 찾을 수 없는 경우 대체(fallback)로 사용할 패키지 원본 목록입니다. 세미콜론을 사용하여 목록 항목을 구분합니다.

  • -Force

    PackageReference 기반 프로젝트에서 마지막 복원에 성공한 경우에도 모든 종속성을 강제로 확인합니다. 이 플래그를 지정하는 것은 파일을 삭제하는 project.assets.json 것과 비슷합니다. http-cache는 무시하지 않습니다.

  • -ForceEnglishOutput

    (3.5 이상) 고정 영어 기반 문화권을 사용하여 nuget.exe 강제로 실행합니다.

  • -ForceEvaluate

    잠금 파일이 이미 존재하는 경우에도 모든 종속성을 다시 평가하기 위해 복원합니다.

  • -?|-help

    명령에 대한 도움말 정보를 표시합니다.

  • -LockFilePath

    프로젝트 잠금 파일이 작성되는 출력 위치입니다. 기본적으로 이 값은 PROJECT_ROOT\packages.lock.json입니다.

  • -LockedMode

    프로젝트 잠금 파일 업데이트를 허용하지 않습니다.

  • -MSBuildPath

    (4.0 이상) 명령에 사용할 MSBuild의 경로를 지정하여 우선 순위를 -MSBuildVersion지정합니다.

  • -MSBuildVersion

    (3.2 이상) 이 명령에 사용할 MSBuild 버전을 지정합니다. 지원되는 값은 4, 12, 14, 15.1, 15.3, 15.4, 15.5, 15.6, 15.7, 15.8, 15.9입니다. 기본적으로 경로의 MSBuild가 선택되며, 그렇지 않으면 기본적으로 설치된 가장 높은 버전의 MSBuild로 설정됩니다.

  • -NoHttpCache

    NuGet이 http 캐시된 패키지를 사용하지 못하도록 합니다. 전역 패키지 및 캐시 폴더 관리를 참조 하세요.

  • -NonInteractive

    사용자 입력 또는 확인에 대한 프롬프트를 표시하지 않습니다.

  • -OutputDirectory

    패키지가 설치된 폴더를 지정합니다. 지정한 폴더가 없으면 현재 폴더가 사용됩니다. 파일을 사용하거나 SolutionDirectory 사용하지 않는 한 packages.configPackagesDirectory 파일로 복원할 때 필요합니다.

  • -PackageSaveMode

    패키지 설치 nuspecnupkgnuspec;nupkg후 저장할 파일의 형식을 지정합니다.

  • -PackagesDirectory

    OutputDirectory와 동일합니다. 파일을 사용하거나 SolutionDirectory 사용하지 않는 한 packages.configOutputDirectory 파일로 복원할 때 필요합니다.

  • -Project2ProjectTimeOut

    프로젝트-프로젝트 참조를 확인하기 위한 시간 제한(초)입니다.

  • -Recursive

    (4.0 이상) UWP 및 .NET Core 프로젝트에 대한 모든 참조 프로젝트를 복원합니다. 를 사용하는 packages.config프로젝트에는 적용되지 않습니다.

  • -RequireConsent

    패키지를 다운로드하고 설치하기 전에 패키지를 복원할 수 있는지 확인합니다. 자세한 내용은 패키지 복원을 참조하세요.

  • -SolutionDirectory

    솔루션 폴더를 지정합니다. 솔루션에 대한 패키지를 복원할 때 유효하지 않습니다. 파일을 사용하거나 OutputDirectory 사용하지 않는 한 packages.configPackagesDirectory 파일로 복원할 때 필요합니다.

  • -Source

    복원에 사용할 패키지 원본(URL)의 목록을 지정합니다. 생략하면 명령은 구성 파일에 제공된 원본을 사용합니다. NuGet 동작 구성을 참조 하세요. 세미콜론을 사용하여 목록 항목을 구분합니다.

  • -UseLockFile

    복원에 사용되고 생성될 프로젝트 잠금 파일을 사용합니다.

  • -Verbosity [normal|quiet|detailed]

    출력 normal 에 표시되는 세부 정보의 양을 지정합니다(기본값) quiet또는 detailed.

환경 변수도 참조 하세요.

설명

복원 명령은 다음 단계를 수행합니다.

  1. 복원 명령의 작업 모드를 결정합니다.

    projectPath 파일 형식 동작
    솔루션(폴더) NuGet은 .sln 파일을 찾고 있는 경우 해당 파일을 사용합니다. 그렇지 않으면 오류가 발생합니다. (SolutionDir)\.nuget 는 시작 폴더로 사용됩니다.
    .sln 파일 솔루션으로 식별되는 패키지를 복원합니다. 를 사용하면 오류가 -SolutionDirectory 발생합니다. $(SolutionDir)\.nuget 는 시작 폴더로 사용됩니다.
    packages.config 또는 프로젝트 파일 파일에 나열된 패키지를 복원하여 종속성을 확인하고 설치합니다.
    기타 파일 형식 파일은 위와 같이 파일로 .sln 간주됩니다. 솔루션이 아닌 경우 NuGet에서 오류를 제공합니다.
    (projectPath를 지정하지 않음)
    • NuGet은 현재 폴더에서 솔루션 파일을 찾습니다. 단일 파일이 발견되면 패키지를 복원하는 데 사용됩니다. 여러 솔루션이 발견되면 NuGet에서 오류가 발생합니다.
    • 솔루션 파일이 없는 경우 NuGet은 a를 찾고 packages.config 이를 사용하여 패키지를 복원합니다.
    • 솔루션이나 packages.config 파일을 찾을 수 없으면 NuGet에서 오류가 발생합니다.
  2. 다음 우선 순위 순서를 사용하여 패키지 폴더를 결정합니다(이러한 폴더를 찾을 수 없는 경우 NuGet에서 오류가 발생합니다.)

    • 로 지정된 폴더입니다 -PackagesDirectory.
    • repositoryPathNuget.Config
    • 지정한 폴더 -SolutionDirectory
    • $(SolutionDir)\packages
  3. 솔루션에 대한 패키지를 복원할 때 NuGet은 다음을 수행합니다.

    • 솔루션 파일을 로드합니다.
    • 폴더에 나열된 $(SolutionDir)\.nuget\packages.config 솔루션 수준 패키지를 복원합니다 packages .
    • 폴더에 나열된 $(ProjectDir)\packages.config 패키지를 복원합니다 packages . 지정된 각 패키지에 대해 지정하지 않는 한 -DisableParallelProcessing 패키지를 병렬로 복원합니다.

# Restore packages for a solution file
nuget restore a.sln

# Restore packages for a solution file, using MSBuild version 14.0 to load the solution and its project(s)
nuget restore a.sln -MSBuildVersion 14

# Restore packages for a project's packages.config file, with the packages folder at the parent
nuget restore proj1\packages.config -PackagesDirectory ..\packages

# Restore packages for the solution in the current folder, specifying package sources
nuget restore -source "https://api.nuget.org/v3/index.json;https://www.myget.org/F/nuget"