如何正确卸载项目外部通过nuget.exe安装的NuGet包
无项目关联场景下nuget.exe安装包的正确卸载方法
你在未关联任何项目/解决方案的目录下直接执行nuget.exe install安装包时,NuGet不会修改任何工程配置,操作仅包含两部分:一是将对应版本的包解压到当前执行目录的同名版本文件夹下,二是在NuGet本地全局缓存中写入包元数据与缓存副本,该场景下NuGet本身没有提供配套的一键卸载命令,按以下两步操作即可完全移除包内容、清除所有关联内部状态,无残留:
- 清理当前目录下的包实体文件
定位到你当初执行nuget.exe install命令的工作目录,直接删除与待卸载包名、版本完全匹配的子文件夹即可。例如安装的是13.0.3版本的Newtonsoft.Json,直接删除目录下的Newtonsoft.Json.13.0.3文件夹即可,当前目录下不会有其他该包的隐藏残留文件。 - 清理NuGet全局缓存与内部状态
仅删除本地解压的文件夹不会清除NuGet全局存储的相关记录,可按需选择清理方式:- 精准清理:执行命令
nuget locals all -list查看所有NuGet缓存目录路径,依次进入http-cache、global-packages、temp三个目录,删除与待卸载包名、版本匹配的子文件夹即可。 - 一键清理:直接执行命令
nuget locals all -clear清空全部NuGet本地缓存,该操作不会影响已正常集成到项目中的NuGet包,后续打开项目时会自动重新拉取所需依赖,无副作用。
macOS/Linux系统下缓存默认存储在~/.local/share/NuGet/路径,Windows系统下缓存路径可通过上述list命令直接查看,清理逻辑完全一致。
- 精准清理:执行命令
注意:该场景下不要尝试使用Visual Studio包管理器界面或
dotnet remove package类命令执行卸载,这类命令均依赖项目文件上下文,在无项目的目录下执行要么报错,要么无法识别待卸载的目标包。
内容的提问来源于stack exchange,提问作者jb_dk
相关产品推荐
相关产品推荐

