一键卸载NuGet程序包及其依赖项示例

有时引用的NuGet程序包有好几个依赖项,卸载的时候一个个卸载花时间不说,还要注意先后顺序很麻烦。

例如我们引用System.Data.SQLite,它的依赖项就有4个:
引用内容 引用内容
EntityFramework
System.Data.SQLite.Core
System.Data.SQLite.EF6
System.Data.SQLite.Linq



有没有办法一键就能卸载NuGet程序包及其依赖项呢?有的,在程序包管理控制台使用Uninstall-Package命令及其参数RemoveDependencies就能实现:

PM> Uninstall-Package System.Data.SQLite -RemoveDependencies

正在尝试收集与目标为“.NETFramework,Version=v4.5”的项目“ConsoleApp1”有关的包“System.Data.SQLite.1.0.112”的依赖项信息
正在解析操作以卸载程序包“System.Data.SQLite.1.0.112”
已解析操作以卸载程序包“System.Data.SQLite.1.0.112”
已从“packages.config”中删除程序包“System.Data.SQLite.1.0.112”
已从 ConsoleApp1 成功卸载“System.Data.SQLite.1.0.112”
已从“packages.config”中删除程序包“System.Data.SQLite.Core.1.0.112”
已从 ConsoleApp1 成功卸载“System.Data.SQLite.Core.1.0.112”
已从“packages.config”中删除程序包“System.Data.SQLite.Linq.1.0.112”
已从 ConsoleApp1 成功卸载“System.Data.SQLite.Linq.1.0.112”
已从“packages.config”中删除程序包“System.Data.SQLite.EF6.1.0.112”
已从 ConsoleApp1 成功卸载“System.Data.SQLite.EF6.1.0.112”
已从“packages.config”中删除程序包“EntityFramework.6.3.0”
已从 ConsoleApp1 成功卸载“EntityFramework.6.3.0”
正在从文件夹“E:\Demo\ConsoleApp1\packages”中删除程序包“System.Data.SQLite.1.0.112”
已从文件夹“E:\Demo\ConsoleApp1\packages”中删除程序包“System.Data.SQLite.1.0.112”
正在从文件夹“E:\Demo\ConsoleApp1\packages”中删除程序包“System.Data.SQLite.Core.1.0.112”
已从文件夹“E:\Demo\ConsoleApp1\packages”中删除程序包“System.Data.SQLite.Core.1.0.112”
正在从文件夹“E:\Demo\ConsoleApp1\packages”中删除程序包“System.Data.SQLite.Linq.1.0.112”
已从文件夹“E:\Demo\ConsoleApp1\packages”中删除程序包“System.Data.SQLite.Linq.1.0.112”
正在从文件夹“E:\Demo\ConsoleApp1\packages”中删除程序包“System.Data.SQLite.EF6.1.0.112”
已从文件夹“E:\Demo\ConsoleApp1\packages”中删除程序包“System.Data.SQLite.EF6.1.0.112”
正在从文件夹“E:\Demo\ConsoleApp1\packages”中删除程序包“EntityFramework.6.3.0”
已从文件夹“E:\Demo\ConsoleApp1\packages”中删除程序包“EntityFramework.6.3.0”
执行 nuget 操作花费时间 8.57 sec
已用时间: 00:00:08.6607601

常用命令:

# 卸载当前默认项目的所有 NuGet 包(连带依赖、强制卸载)
Get-Package | Uninstall-Package -RemoveDependencies -Force
# 卸载指定单个项目的所有包
Get-Package -ProjectName 项目名称 | Uninstall-Package -RemoveDependencies -Force
# 卸载整个解决方案所有项目的全部包
Get-Project -All | Get-Package | Uninstall-Package -RemoveDependencies -Force


评论: 0 | 引用: 0 | 查看次数: 11238
发表评论
登录后再发表评论!