Variables d’environnement de la CLI NuGet

Le comportement du CLI nuget.exe peut être configuré via un certain nombre de variables d’environnement, qui affectent nuget.exe au niveau ordinateur, utilisateur ou processus. Les variables d’environnement remplacent toujours les paramètres dans les fichiers NuGet.Config, ce qui permet aux serveurs de version de modifier les paramètres appropriés sans modifier de fichiers.

En général, les options spécifiées directement sur la ligne de commande ou dans les fichiers de configuration NuGet sont prioritaires, mais il existe quelques exceptions telles que FORCE_NUGET_EXE_INTERACTIVE. Si vous constatez que nuget.exe se comporte différemment entre différents ordinateurs, une variable d’environnement peut être la cause. Par exemple, Azure Web Apps Kudu (utilisé pendant le déploiement) a NUGET_XMLDOC_MODE défini sur ignorer pour accélérer les performances de restauration des packages et économiser de l’espace disque.

La CLI NuGet utilise MSBuild pour lire les fichiers projet. Toutes les variables d’environnement sont disponibles en tant que propriétés pendant l’évaluation MSBuild. La liste des propriétés documentées dans le pack NuGet et la restauration en tant que cibles MSBuild peuvent également être définies en tant que variables d’environnement.

Variable Description Notes
http_proxy Proxy HTTP utilisé pour les opérations HTTP NuGet. Cet attribut doit être spécifié en tant que http://<username>:<password>@proxy.com.
no_proxy Configure les domaines à contourner à l’aide du proxy. Spécifié en tant que domaines séparés par des virgules (,).
EnableNuGetPackageRestore Indique si NuGet doit accorder implicitement le consentement s’il est requis par le package lors de la restauration. L’indicateur spécifié est traité comme vrai ou 1, toute autre valeur traitée comme indicateur non défini.
NUGET_CLI_LANGUAGE Modifie le langage de sortie nuget.exe Disponible dans les versions 6.5 et supérieures. Les valeurs prises en charge sont les noms régionaux des langues Visual Studio prises en charge : zh-cn, zh-tw, cs-cz, en-us, es-es, fr-fr, de-de, it-it, ja-jp, ko-kr, pl-pl, pt-br, ru-ru et tr-tr.
NUGET_EXE_NO_PROMPT Empêche l’exe de demander des informations d’identification. Toute valeur à l’exception de nul ou de chaîne vide sera traitée comme cet indicateur défini/vrai.
NUGET_MAX_RETRY_AFTER_DELAY_SECONDS Durée maximale entre nouvelles tentatives lorsque la réponse HTTP contient un en-tête Retry-After Lorsque NUGET_OBSERVE_RETRY_AFTER est activé (tel qu’il est par défaut) et qu’une réponse HTTP contient un en-tête Retry-After, cette variable d’environnement définit la durée maximale qui sera le temps d’attente. Notez que les nouvelles tentatives peuvent fournir une durée (delta) ou un horodatage (date). Si le serveur retourne un horodatage et que l’horloge de votre ordinateur n’est pas synchronisée avec le serveur, la durée calculée peut être très longue (ou négative).
FORCE_NUGET_EXE_INTERACTIVE Variable d’environnement globale pour forcer le mode interactif. Toute valeur à l’exception de nul ou de chaîne vide sera traitée comme cet indicateur défini/vrai.
NUGET_PACKAGES Chemin d’accès à utiliser pour le dossier global-packages, comme décrit dans Gestion des packages globaux et des dossiers de cache. Spécifié comme chemin d’accès absolu.
NUGET_FALLBACK_PACKAGES Dossiers de packages de secours globaux. Chemins d’accès aux dossiers absolus séparés par des points-virgules (;).
NUGET_HTTP_CACHE_PATH Chemin d’accès à utiliser pour le dossier http-cache, comme décrit dans Gestion des dossiers globaux de packages et cache. Spécifié comme chemin d’accès absolu.
NUGET_OBSERVE_RETRY_AFTER Refuser l’utilisation des durées de délai de nouvelle tentative de message de réponse HTTP Avant NuGet 6.5, NuGet réessayerait toutes les demandes ayant échoué avec la même stratégie d’interruption. À compter de NuGet 6.5, NuGet utilise par défaut la période de délai de nouvelle tentative fournie par le serveur. Définissez cette variable d’environnement pour false pour ignorer l’en-tête de réponse Retry-After. Voir également NUGET_MAX_RETRY_AFTER_DELAY_SECONDS
NUGET_RESTORE_MSBUILD_ARGS Définit des arguments MSBuild supplémentaires. Transmettez des arguments identiques à la façon dont vous les transféreriez à msbuild.exe. Un exemple de définition d’une propriété de projet Foo à partir de la ligne de commande sur la barre de valeurs est /p:Foo=Bar
NUGET_RETRY_HTTP_429 Modifiez le comportement de nouvelle tentative sur les réponses HTTP 429 Avant NuGet 6.5, NuGet n’effectue pas de nouvelles tentatives de requêtes qui entraînent HTTP 429 sur 408. La valeur par défaut est true, et cette variable d’environnement peut être définie pour false pour choisir un comportement NuGet plus ancien (ne réessayez pas la requête)
NUGET_RESTORE_MSBUILD_VERBOSITY Définit la verbosité du journal MSBuild. La valeur par défaut est léger (« /v:q »). Valeurs possibles q[uiet], m[inimal], n[ormal], d[etailed] et diag[nostic].
NUGET_SHOW_STACK Détermine si l’exception complète (y compris le rapport des appels de procédure) doit être affichée à l’utilisateur. Spécifié comme vrai ou faux (valeur par défaut).
NUGET_UPDATEFILETIME_MAXRETRIES Définit le nombre de fois où NuGet tente de définir l’horodatage du fichier lors de l’extraction de packages. Sur le logiciel antivirus Windows, peut temporairement ouvrir des fichiers, empêchant NuGet de modifier l’horodatage. NuGet utilise un back-off exponentiel où la durée d’attente entre les tentatives est Math.Pow(2, retryNumber). Le nombre maximal de nouvelles tentatives par défaut est 9, ce qui signifie que la durée d’attente totale par défaut avant l’échec sera d’environ une seconde.
NUGET_XMLDOC_MODE Détermine la façon dont l’extraction des fichiers de documentation XML des assemblys doit être gérée. Les modes pris en charge sont skip (n’extraient pas les fichiers de documentation XML), compress (stockent les fichiers de documentation XML sous forme d’archive zip) ou aucun (par défaut, traitent les fichiers de documentation XML comme des fichiers standard).
NUGET_CERT_REVOCATION_MODE Détermine comment la case activée de révocation du certificat utilisé pour signer un package est effectué lorsqu’un package signé est installé ou restauré. Si non défini, la valeur par défaut est online. Valeurs possibles connecté (valeur par défaut), hors connexion. Associé à NU3028
NUGET_ENABLE_ENHANCED_HTTP_RETRY Active ou désactive une nouvelle tentative HTTP améliorée dans NuGet. Les valeurs possibles sont true (par défaut) ou false.
NUGET_ENHANCED_MAX_NETWORK_TRY_COUNT Configure le nombre maximal de fois où une connexion HTTP doit être retentée lorsque les tentatives améliorées sont activées. Nombre représentant le nombre de nouvelles tentatives à effectuer, la valeur par défaut est de 6.
NUGET_ENHANCED_NETWORK_RETRY_DELAY_MILLISECONDS Configure la durée d’attente en millisecondes avant de réessayer une connexion HTTP lorsque des tentatives améliorées sont activées. Le nombre de millisecondes à attendre par défaut est de 1000.
NUGET_EXPERIMENTAL_USE_NJ_FOR_FILE_PARSING Détermine si Netwonsoft.Json est utilisé ou non pour analyser le fichier d'actifs lors de la restauration Les valeurs possibles sont true ou false(par défaut).