dotnet restoredotnet restore

この記事の対象: ✔️ .NET Core 2.1 SDK 以降のバージョンThis article applies to: ✔️ .NET Core 2.1 SDK and later versions

名前Name

dotnet restore - プロジェクトの依存関係とツールを復元します。dotnet restore - Restores the dependencies and tools of a project.

構文Synopsis

dotnet restore [<ROOT>] [--configfile <FILE>] [--disable-parallel]
    [-f|--force] [--force-evaluate] [--ignore-failed-sources]
    [--interactive] [--lock-file-path <LOCK_FILE_PATH>] [--locked-mode]
    [--no-cache] [--no-dependencies] [--packages <PACKAGES_DIRECTORY>]
    [-r|--runtime <RUNTIME_IDENTIFIER>] [-s|--source <SOURCE>]
    [--use-lock-file] [-v|--verbosity <LEVEL>]

dotnet restore -h|--help

説明Description

dotnet restore コマンドでは NuGet を使用して、依存関係と、プロジェクト ファイルに指定されているプロジェクト固有のツールを復元します。The dotnet restore command uses NuGet to restore dependencies as well as project-specific tools that are specified in the project file. ほとんどの場合、次のコマンドを実行すると、必要に応じて NuGet の復元が暗黙的に実行されるため、dotnet restore コマンドを明示的に使用する必要はありません。In most cases, you don't need to explicitly use the dotnet restore command, since a NuGet restore is run implicitly if necessary when you run the following commands:

場合によっては、これらのコマンドを使用して NuGet の暗黙的な復元を実行するのが不便なことがあります。Sometimes, it might be inconvenient to run the implicit NuGet restore with these commands. たとえば、ビルド システムなど、一部の自動化されているシステムでは、ネットワーク使用状況を制御できるように、dotnet restore を明示的に呼び出し、復元のタイミングを制御する必要があります。For example, some automated systems, such as build systems, need to call dotnet restore explicitly to control when the restore occurs so that they can control network usage. NuGet の暗黙的な復元が行われないようにするには、--no-restore フラグと共にこれらのコマンドのいずれかを使用し、暗黙的復元を無効にします。To prevent the implicit NuGet restore, you can use the --no-restore flag with any of these commands to disable implicit restore.

フィードを指定するSpecify feeds

依存関係を復元するには、NuGet で、パッケージを配置するフィードが必要になります。To restore the dependencies, NuGet needs the feeds where the packages are located. フィードは、通常、"nuget.config" 構成ファイルを通じて提供されます。Feeds are usually provided via the nuget.config configuration file. 既定の構成ファイルは、.NET Core SDK がインストールされている場合に提供されます。A default configuration file is provided when the .NET Core SDK is installed. 追加のフィードを指定するには、次のいずれかの操作を行います。To specify additional feeds, do one of the following:

-s オプションを使用して nuget.config フィードをオーバーライドできます。You can override the nuget.config feeds with the -s option.

認証済みフィードの使用方法の詳細については、「認証済みフィードからのパッケージの使用」をご覧ください。For information about how to use authenticated feeds, see Consuming packages from authenticated feeds.

グローバル パッケージ フォルダーGlobal packages folder

依存関係については、--packages 引数を使用して復元操作中に復元されたパッケージの配置場所を指定することができます。For dependencies, you can specify where the restored packages are placed during the restore operation using the --packages argument. 指定されていない場合は、既定の NuGet パッケージ キャッシュが使用されます。これは、すべてのオペレーティング システムのユーザーのホーム ディレクトリ内の .nuget/packages ディレクトリにあります。If not specified, the default NuGet package cache is used, which is found in the .nuget/packages directory in the user's home directory on all operating systems. たとえば、Linux の場合は /home/user1、Windows の場合は C:\Users\user1 です。For example, /home/user1 on Linux or C:\Users\user1 on Windows.

プロジェクト固有のツールProject-specific tooling

プロジェクト固有のツールについては、dotnet restore はまず、ツールがパックされているパッケージを復元し、プロジェクト ファイルに指定されているツールの依存関係の復元に進みます。For project-specific tooling, dotnet restore first restores the package in which the tool is packed, and then proceeds to restore the tool's dependencies as specified in its project file.

nuget.config の相違点nuget.config differences

"nuget.config" がある場合、dotnet restore コマンドの動作はその設定に影響を受けます。The behavior of the dotnet restore command is affected by the settings in the nuget.config file, if present. たとえば、"nuget.config" に globalPackagesFolder を設定すると、指定されたフォルダーに NuGet パッケージが復元されます。For example, setting the globalPackagesFolder in nuget.config places the restored NuGet packages in the specified folder. これは dotnet restore コマンドで --packages オプションを指定する操作の代替方法です。This is an alternative to specifying the --packages option on the dotnet restore command. 詳細については、「nuget の .config リファレンス」を参照してください。For more information, see the nuget.config reference.

dotnet restore によって無視される、特定の設定が 3 つあります。There are three specific settings that dotnet restore ignores:

  • bindingRedirectsbindingRedirects

    バインド リダイレクトは、<PackageReference> 要素では機能しません。また、.NET Core では、NuGet パッケージの <PackageReference> 要素のみサポートされます。Binding redirects don't work with <PackageReference> elements and .NET Core only supports <PackageReference> elements for NuGet packages.

  • solutionsolution

    これは、Visual Studio 固有の設定であり、.NET Core には適用されません。This setting is Visual Studio specific and doesn't apply to .NET Core. .NET Core では、packages.config ファイルは使用されず、代わりに NuGet パッケージの <PackageReference> 要素が使用されます。.NET Core doesn't use a packages.config file and instead uses <PackageReference> elements for NuGet packages.

  • trustedSignerstrustedSigners

    この設定は、信頼できるパッケージのクロスプラットフォーム検証が NuGet でまだサポートされていないため、適用されません。This setting isn't applicable as NuGet doesn't yet support cross-platform verification of trusted packages.

引数Arguments

  • ROOT

    復元するプロジェクト ファイルへのオプションのパスです。Optional path to the project file to restore.

オプションOptions

  • --configfile <FILE>

    復元操作で使用する NuGet 構成ファイル ("nuget.config") です。The NuGet configuration file (nuget.config) to use for the restore operation.

  • --disable-parallel

    複数プロジェクトの並行復元を無効にします。Disables restoring multiple projects in parallel.

  • --force

    最後の復元が成功した場合でも、すべての依存関係が強制的に解決されます。Forces all dependencies to be resolved even if the last restore was successful. このフラグを指定することは、project.assets.json ファイルを削除することと同じです。Specifying this flag is the same as deleting the project.assets.json file.

  • --force-evaluate

    ロック ファイルが既に存在する場合でも、すべての依存関係を再評価するように強制的に復元します。Forces restore to reevaluate all dependencies even if a lock file already exists.

  • -h|--help

    コマンドの短いヘルプを印刷します。Prints out a short help for the command.

  • --ignore-failed-sources

    バージョン要件を満たしているパッケージがある場合は、失敗したソースに関する警告のみです。Only warn about failed sources if there are packages meeting the version requirement.

  • --interactive

    コマンドを停止して、ユーザーの入力または操作のために待機させることができます (たとえば、認証を完了する場合)。Allows the command to stop and wait for user input or action (for example to complete authentication). .NET Core 2.1.400 以降。Since .NET Core 2.1.400.

  • --lock-file-path <LOCK_FILE_PATH>

    プロジェクトのロック ファイルの書き込み先である出力場所。Output location where project lock file is written. 既定でこれは PROJECT_ROOT\packages.lock.json です。By default, this is PROJECT_ROOT\packages.lock.json.

  • --locked-mode

    プロジェクト ロック ファイルの更新は許可されません。Don't allow updating project lock file.

  • --no-cache

    HTTP 要求をキャッシュしないように指定します。Specifies to not cache HTTP requests.

  • --no-dependencies

    プロジェクト間 (P2P) 参照を含むプロジェクトを復元する場合は、参照ではなく、ルート プロジェクトを復元します。When restoring a project with project-to-project (P2P) references, restores the root project and not the references.

  • --packages <PACKAGES_DIRECTORY>

    復元されるパッケージのディレクトリを指定します。Specifies the directory for restored packages.

  • -r|--runtime <RUNTIME_IDENTIFIER>

    パッケージの復元用のランタイムを指定します。Specifies a runtime for the package restore. これは、 .csproj ファイルの <RuntimeIdentifiers> タグに明示的にリストされていないランタイムのパッケージを復元するために使用されます。This is used to restore packages for runtimes not explicitly listed in the <RuntimeIdentifiers> tag in the .csproj file. ランタイム ID (RID) の一覧については、RID カタログに関するページをご覧ください。For a list of Runtime Identifiers (RIDs), see the RID catalog. このオプションを複数回指定して、複数の RID を指定します。Provide multiple RIDs by specifying this option multiple times.

  • -s|--source <SOURCE>

    復元操作時に使用する NuGet パッケージ ソースの URI を指定します。Specifies the URI of the NuGet package source to use during the restore operation. この設定により、"nuget.config" ファイルに指定されているすべてのソースがオーバーライドされます。This setting overrides all of the sources specified in the nuget.config files. このオプションを複数回指定することによって、複数のソースを指定できます。Multiple sources can be provided by specifying this option multiple times.

  • --use-lock-file

    プロジェクト ロック ファイルを生成して復元で使用できるようにします。Enables project lock file to be generated and used with restore.

  • -v|--verbosity <LEVEL>

    コマンドの詳細レベルを設定します。Sets the verbosity level of the command. 指定できる値は、q[uiet]m[inimal]n[ormal]d[etailed]、および diag[nostic] です。Allowed values are q[uiet], m[inimal], n[ormal], d[etailed], and diag[nostic]. 既定値は minimalにする必要があります。Default value is minimal.

使用例Examples

  • 現在のディレクトリでプロジェクトの依存関係とツールを復元します。Restore dependencies and tools for the project in the current directory:

    dotnet restore
    
  • 指定されたパスで見つかった app1 プロジェクトの依存関係とツールを復元します。Restore dependencies and tools for the app1 project found in the given path:

    dotnet restore ./projects/app1/app1.csproj
    
  • ソースとして指定されたファイル パスを使用して、現在のディレクトリでプロジェクトの依存関係とツールを復元します。Restore the dependencies and tools for the project in the current directory using the file path provided as the source:

    dotnet restore -s c:\packages\mypackages
    
  • ソースとして指定された 2 つのファイル パスを使用して、現在のディレクトリでプロジェクトの依存関係とツールを復元します。Restore the dependencies and tools for the project in the current directory using the two file paths provided as sources:

    dotnet restore -s c:\packages\mypackages -s c:\packages\myotherpackages
    
  • 詳細な出力を示して、現在のディレクトリでプロジェクトの依存関係とツールを復元します。Restore dependencies and tools for the project in the current directory showing detailed output:

    dotnet restore --verbosity detailed