dotnet restore

Cet article s’applique à : ✔️ SDK .NET Core 3.1 et versions ultérieures

Nom

dotnet restore : Restaure les dépendances et les outils d’un projet.

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

La commande dotnet restore utilise NuGet pour restaurer les dépendances, ainsi que les outils spécifiques aux projets qui sont spécifiés dans le fichier projet. Dans la plupart des cas, vous n’avez pas besoin d’utiliser explicitement la commande dotnet restore, car une restauration NuGet est exécutée implicitement si nécessaire lorsque vous exécutez les commandes suivantes :

Parfois, il peut être gênant d’exécuter la restauration NuGet implicite avec ces commandes. Par exemple, certains systèmes automatisés, comme les systèmes de génération, doivent appeler explicitement dotnet restore pour contrôler quand la restauration a lieu afin de pouvoir contrôler l’utilisation du réseau. Pour empêcher la restauration NuGet implicite, vous pouvez utiliser l’indicateur --no-restore avec l’une de ces commandes pour la désactiver.

Notes

La vérification de package signé pendant les opérations de restauration nécessite un magasin de certificat racine valide pour la signature de code et le timestamp. Pour plus d’informations, consultez Vérification du package signé NuGet.

Spécifier des flux

Pour restaurer les dépendances, NuGet a besoin des flux où sont situés les packages. Les flux sont généralement fournis via le fichier de configuration nuget.config. Un fichier de configuration par défaut est fourni lorsque le Kit de développement logiciel (SDK) .NET est installé. Pour spécifier des flux supplémentaires, effectuez l’une des opérations suivantes :

Vous pouvez remplacer les flux nuget.config par l’option -s.

Pour plus d’informations sur l’utilisation des flux authentifiés, consultez Consommation de packages à partir de flux authentifiés.

Dossier packages globaux

Pour les dépendances, vous pouvez spécifier l’emplacement des packages restaurés pendant l’opération de restauration à l’aide de l’argument --packages. Si aucune valeur n’est spécifiée, le cache du package NuGet par défaut est utilisé. Il se trouve dans le répertoire .nuget/packages, situé dans le répertoire de base de l’utilisateur, sur tous les systèmes d’exploitation. Par exemple, /home/user1 sur Linux ou C:\Users\user1 sur Windows.

Outils spécifiques au projet

Pour les outils spécifiques au projet, dotnet restore commence par restaurer le package dans lequel l’outil est empaqueté, puis il restaure les dépendances de l’outil, comme spécifié dans son fichier projet.

Différences dans nuget.config

Le comportement de la commande dotnet restore est affecté par les paramètres du fichier nuget.config, s’il est présent. Par exemple, si vous définissez globalPackagesFolder dans nuget.config, les packages NuGet restaurés sont placés dans le dossier spécifié. Cette méthode permet également de spécifier l’option --packages sur la commande dotnet restore. Pour plus d’informations, consultez Informations de référence sur nuget.config.

Trois paramètres spécifiques sont ignorés par dotnet restore :

  • bindingRedirects

    Les redirections de liaison ne fonctionnent pas avec les éléments <PackageReference> et .NET Core ne prend qu’en charge les éléments <PackageReference> pour les packages NuGet.

  • Solution

    Ce paramètre est spécifique à Visual Studio et ne s’applique pas à .NET. .NET Core n’utilise pas de fichier packages.config et utilise à la place des éléments <PackageReference> pour les packages NuGet.

  • trustedSigners

    La prise en charge de la vérification de signature de package multiplateforme a été ajoutée dans le Kit de développement logiciel (SDK) .NET 5.0.100.

Téléchargement de manifestes de charge de travail

Lorsque vous exécutez cette commande, elle lance en arrière-plan un téléchargement asynchrone des manifestes publicitaires des charges de travail. Si le téléchargement est toujours en cours lorsque cette commande se termine, celui-ci est arrêté. Pour plus d’informations, consultez Manifestes publicitaires.

Arguments

  • ROOT

    Chemin facultatif du fichier projet à restaurer.

Options

  • --configfile <FILE>

    Le fichier de configuration NuGet (nuget.config) à utiliser. S’ils sont spécifiés, seuls les paramètres de ce fichier seront utilisés. Si elle n’est pas spécifiée, la hiérarchie des fichiers de configuration du répertoire actuel sera utilisée. Pour plus d’informations, consultez Configuration NuGet courantes.

  • --disable-parallel

    Désactive la restauration de plusieurs projets en parallèle.

  • --force

    Force la résolution de toutes les dépendances même si la dernière restauration a réussi. Définir cet indicateur revient à supprimer le fichier project.assets.json.

  • --force-evaluate

    Force la restauration à réévaluer toutes les dépendances, même s'il existe déjà un fichier de verrouillage.

  • -?|-h|--help

    Affiche une description de l’utilisation de la commande.

  • --ignore-failed-sources

    N’avertit en cas d’échec des sources que si des packages répondent aux exigences de versions.

  • --interactive

    Permet à la commande de s’arrêter et d’attendre une action ou une entrée utilisateur. Par exemple, pour effectuer une authentification.

  • --lock-file-path <LOCK_FILE_PATH>

    Emplacement de sortie où le fichier de verrouillage du projet est écrit. Par défaut, il s’agit de PROJECT_ROOT\packages.lock.json.

  • --locked-mode

    Ne pas autoriser la mise à jour du fichier de verrouillage du projet.

  • --no-cache

    Spécifie de ne pas mettre en cache les requêtes HTTP.

  • --no-dependencies

    En cas de restauration d’un projet avec des références entre projets (P2P), restaure le projet racine et non les références.

  • --packages <PACKAGES_DIRECTORY>

    Spécifie le répertoire des packages restaurés.

  • -r|--runtime <RUNTIME_IDENTIFIER>

    Spécifie un runtime pour la restauration du package. Cela permet de restaurer les packages des runtimes qui ne sont pas explicitement listés dans la balise <RuntimeIdentifiers> du fichier .csproj. Pour connaître les identificateurs de runtime, consultez le catalogue des identificateurs de runtime.

  • -s|--source <SOURCE>

    Spécifie l’URI de la source du package NuGet à utiliser pendant l’opération de restauration. Ce paramètre remplace toutes les sources spécifiées dans les fichiers nuget.config. Vous pouvez spécifier plusieurs sources en spécifiant cette option plusieurs fois.

  • --use-lock-file

    Permet au fichier de verrouillage du projet d'être généré et utilisé avec la restauration.

  • -v|--verbosity <LEVEL>

    Définit le niveau de détail de la commande. Les valeurs autorisées sont q[uiet], m[inimal], n[ormal], d[etailed] et diag[nostic]. La valeur par défaut est minimal. Pour plus d'informations, consultez LoggerVerbosity.

Exemples

  • Restaurez des dépendances et des outils pour le projet se trouvant dans le répertoire actif :

    dotnet restore
    
  • Restaurez des dépendances et des outils pour le projet app1 se trouvant à l’emplacement donné :

    dotnet restore ./projects/app1/app1.csproj
    
  • Restaurer les dépendances et les outils du projet se trouvant dans le répertoire actif en utilisant le chemin d’accès de fichier fourni comme source :

    dotnet restore -s c:\packages\mypackages
    
  • Restaurer les dépendances et les outils du projet se trouvant dans le répertoire actif en utilisant les deux chemins d’accès de fichiers fournis comme sources :

    dotnet restore -s c:\packages\mypackages -s c:\packages\myotherpackages
    
  • Restaurer les dépendances et les outils du projet dans le répertoire actif affichant une sortie détaillée :

    dotnet restore --verbosity detailed