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 :
- Créez votre propre fichier nuget.config dans le répertoire du projet. Pour plus d’informations, consultez Configurations NuGet courantes et Différences nuget.config plus loin dans cet article.
- Utilisez des commandes
dotnet nuget
telles quedotnet nuget add source
.
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
:
-
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. -
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. -
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]
etdiag[nostic]
. La valeur par défaut estminimal
. 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