Linux系统下dotnet restore默认NuGet配置文件位置咨询
Linux下
dotnet restore的默认NuGet配置文件位置 在Linux系统中,dotnet restore不会只依赖单一配置文件,而是按优先级加载多个层级的NuGet配置——这也是你遇到dotnet nuget list source输出和~/.nuget/NuGet/NuGet.Config内容不一致的核心原因:前者显示的是所有层级配置合并后的结果,后者只是其中一个层级的配置文件。
具体各层级配置文件的位置及优先级从高到低如下:
- 项目级配置:当前项目目录下的
NuGet.Config,优先级最高,会覆盖其他层级的配置 - 用户级配置:
~/.nuget/NuGet/NuGet.Config,也就是你最初关注的用户专属全局配置 - 系统级配置:
- .NET Core 3.0及以上版本:
/etc/nuget/NuGet.Config - 旧版.NET Core:
/usr/share/dotnet/sdk/<具体版本号>/NuGet.Config
- .NET Core 3.0及以上版本:
- 环境变量指定:如果设置了
NUGET_CONFIG_PATH环境变量,dotnet restore会优先读取该变量指向的配置文件
你用dotnet restore --configfile ~/.nuget/NuGet/NuGet.Config能临时解决问题,是因为这个命令强制跳过了配置合并逻辑,仅使用指定文件的配置。
内容的提问来源于stack exchange,提问作者Alexander Kozachenko
相关产品推荐
相关产品推荐

