NuGet CLI 环境变量

nuget.exe CLI 的行为可以通过许多环境变量进行配置,这些环境变量会影响计算机范围、用户或进程级别的 nuget.exe。 环境变量始终替代文件中的任何设置 NuGet.Config ,允许生成服务器更改适当的设置,而无需修改任何文件。

通常,直接在命令行或 NuGet 配置文件中指定的选项具有优先级,但存在一些例外情况,例如 FORCE_NUGET_EXE_INTERACTIVE。 如果发现 nuget.exe 在不同计算机之间的行为不同,则环境变量可能是原因。 例如,Azure Web 应用 Kudu(部署期间使用) 已NUGET_XMLDOC_MODE 设置为 跳过 以加快包还原性能并节省磁盘空间。

NuGet CLI 使用 MSBuild 读取项目文件。 在 MSBuild 评估期间,所有环境变量都可用作 属性 。 NuGet 包中记录的属性列表 和还原为 MSBuild 目标 也可以设置为环境变量。

变量 说明 注解
http_proxy 用于 NuGet HTTP作的 Http 代理。 这将指定为 http://<username>:<password>@proxy.com
no_proxy 配置域以绕过使用代理。 指定为用逗号(,)分隔的域。
EnableNuGetPackageRestore 如果 NuGet 在还原时包需要,则为 NuGet 是否应隐式授予许可的标志。 指定的标志被视为 true1,其他任何被视为未设置标志的值。
NUGET_CLI_LANGUAGE 更改 nuget.exe 输出语言 在 6.5 及更高版本中可用。 支持的 Visual Studio 语言区域设置名称:zh-cn、、、cs-czen-uses-esfr-frde-deko-krit-itzh-twja-jp、、pl-plpt-br和。 ru-rutr-tr
NUGET_EXE_NO_PROMPT 阻止 exe 提示输入凭据。 除 null 或空字符串之外的任何值都将被视为此标志集/true。
NUGET_MAX_RETRY_AFTER_DELAY_SECONDS HTTP 响应包含 Retry-After 标头时重试之间的最大持续时间 启用NUGET_OBSERVE_RETRY_AFTER(默认启用)和 HTTP 响应包含 Retry-After 标头时,此环境变量将设置将等待的最大持续时间。 请注意,Retry-After 可以提供持续时间(增量)或时间戳(日期)。 如果服务器返回时间戳,并且计算机的时钟与服务器不同步,则计算持续时间可能很长(或为负)。
FORCE_NUGET_EXE_INTERACTIVE 全局环境变量以强制交互模式。 除 null 或空字符串之外的任何值都将被视为此标志集/true。
NUGET_PACKAGES 用于 全局包 文件夹的路径,如 管理全局包和缓存文件夹中所述。 指定为绝对路径。
NUGET_FALLBACK_PACKAGES 全局回退包文件夹。 以分号分隔的绝对文件夹路径(;)。
NUGET_HTTP_CACHE_PATH 用于 http 缓存 文件夹的路径,如 管理全局包和缓存文件夹中所述。 指定为绝对路径。
NUGET_OBSERVE_RETRY_AFTER 选择退出使用 HTTP 响应消息 Retry-After 延迟持续时间 在 NuGet 6.5 之前,NuGet 会使用相同的退让策略重试所有失败的请求。 从 NuGet 6.5 开始,NuGet 默认使用服务器提供的 Retry-After 延迟期。 将此环境变量设置为 false 忽略 Retry-After 响应标头。 另请参阅NUGET_MAX_RETRY_AFTER_DELAY_SECONDS
NUGET_RESTORE_MSBUILD_ARGS 设置其他 MSBuild 参数。 传递的参数与将参数传递给 msbuild.exe的方式相同。 将命令行中的项目属性 Foo 设置为值栏的示例为 /p:Foo=Bar
NUGET_RETRY_HTTP_429 更改 HTTP 429 响应的重试行为 在 NuGet 6.5 之前,NuGet 不会重试导致 408 上的 HTTP 429 的请求。 默认值为 true,此环境变量可以设置为 false 选择加入较旧的 NuGet 行为(请勿重试请求)
NUGET_RESTORE_MSBUILD_VERBOSITY 设置 MSBuild 日志详细程度。 默认值为 quiet (“/v:q”)。 可能的值 q[uiet]m[inimal]n[ormal]d[etailed], and diag[nostic].
NUGET_SHOW_STACK 确定是否应向用户显示完整异常(包括堆栈跟踪)。 指定为 truefalse (默认值)。
NUGET_UPDATEFILETIME_MAXRETRIES 设置 NuGet 在首次尝试失败时提取包时尝试重试设置文件时间戳的次数。 在 Windows 防病毒软件上,可能会暂时打开文件,从而阻止 NuGet 更改时间戳。 NuGet 使用指数退避,其中尝试之间的等待持续时间为 Math.Pow(2, retryNumber)。 默认的最大重试次数为 9,这意味着在失败前的默认总等待持续时间约为一秒。
NUGET_XMLDOC_MODE 确定应如何处理程序集 XML 文档文件提取。 支持的模式是 跳过 (不提取 XML 文档文件)、 压缩 (将 XML 文档文件存储为 zip 存档)或 (默认值,将 XML 文档文件视为常规文件)。
NUGET_CERT_REVOCATION_MODE 确定在安装或还原已签名包时如何对用于对包进行签名的证书的吊销状态检查。 如果未设置,则默认为 true 联机 可能的值 (默认值), 脱机。 与 NU3028 相关
NUGET_ENABLE_ENHANCED_HTTP_RETRY 启用或禁用 NuGet 中的增强型 HTTP 重试。 可能的值为 true(默认值)或 false
NUGET_ENHANCED_MAX_NETWORK_TRY_COUNT 配置启用增强重试时应重试 HTTP 连接的最大次数。 一个数字,表示要执行的重试次数,默认值为 6
NUGET_ENHANCED_NETWORK_RETRY_DELAY_MILLISECONDS 配置启用增强重试后重试 HTTP 连接之前等待的时间(以毫秒为单位)。 要等待的毫秒数,默认值为 1000
NUGET_EXPERIMENTAL_USE_NJ_FOR_FILE_PARSING 确定是否 Netwonsoft.Json 用于在还原期间分析资产文件 可能的值为 truefalse(默认)。