NuGet全局配置与sources list输出不一致问题求助
NuGet配置文件与
sources list输出不一致的原因及解决方法 核心原因
NuGet并非只读取你查看的那一个全局配置文件,它会合并多个层级的配置文件的内容,最终nuget sources list显示的是所有层级配置中源的合集。在MacOS环境下,NuGet会加载以下几类配置文件:
- 系统级配置:
/Library/Frameworks/Mono.framework/Versions/Current/etc/mono/nuget/nuget.config - 用户级全局配置:
~/.config/NuGet/NuGet.Config(你当前查看的应该是这个文件) - 项目级配置:当前项目目录下的
nuget.config - 环境变量
NUGET_CONFIG指定的额外配置文件
你遇到的报错和源数量不一致,就是因为其他层级的配置文件中已经存在同名源,或者包含另外两个未在你查看的全局文件里的源。
解决步骤
- 查看所有加载的配置文件及内容
执行以下命令,NuGet会输出所有被加载的配置文件路径,以及每个文件中的配置项:
nuget config list -configFile all
通过这个命令你能明确找到包含额外源的配置文件。
- 处理重复名称的源
- 如果某个配置文件里的源名称和你要添加的重复,可直接修改该文件中的
key值(即源名称); - 或者用命令删除不需要的源:
nuget sources remove -name "重复的源名称"
该命令会自动修改对应的配置文件,删除指定源。
- 验证结果
执行nuget sources list确认源列表已更新,再尝试添加新源即可。
内容的提问来源于stack exchange,提问作者Niv Navick
相关产品推荐
相关产品推荐

