You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

dotnet pack生成NuGet包安装后回退至旧版本问题求助

解决NuGet重复版本号安装旧内容的问题

问题分析

你遇到的核心问题是NuGet缓存机制导致的版本冲突:当使用已存在(本地缓存或曾发布到NuGet)的版本号打包时,哪怕本地生成的.nupkg内容是新的,Visual Studio或dotnet工具会优先读取缓存里的旧版本包,而非刚生成的新包。断开网络后问题依旧,也说明缓存是在本地而非依赖在线源。

解决步骤

1. 清空NuGet所有缓存

执行命令清除本地和全局的NuGet缓存:

dotnet nuget locals all --clear

也可以在Visual Studio里操作:

  • 打开「工具」→「NuGet包管理器」→「包管理器设置」
  • 找到「NuGet包管理器」→「常规」,点击「清除所有NuGet缓存」

2. 确保本地源优先级最高且唯一

在Visual Studio的NuGet包管理器设置中:

  • 禁用所有在线源(如nuget.org)
  • 将存放新生成.nupkg的本地源移到源列表最顶部
  • 安装时确认选择的是本地源,而非缓存中的旧包

3. 命令行安装强制指定本地源

如果GUI仍有问题,改用命令行安装,明确指定本地源路径:

dotnet add package WeatherAPI-CSharp -v 0.4.1 -s "你的本地包存放路径"

4. 打包时指定独立输出目录

打包时指定单独的输出目录,避免新生成的.nupkg和旧文件混淆:

dotnet pack -c Release --no-build -o ./output-nupkgs

5. 规范建议:避免重复版本号

NuGet语义化版本规范不建议重复发布同一版本号,这会引发缓存、依赖管理等一系列问题。如果需要测试同版本更新,可以临时添加预发布标签(如0.4.1-ci.1),测试完成后再发布正式版本。

内容的提问来源于stack exchange,提问作者Skratymir

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.30 02:17:19