不知何故,在升级到 VS2012 和 .NET 4.5 期间,我设法让 NuGet 感到困惑。包管理器(和包文件夹)中出现了我无法删除的包(我相信它们是旧的 ASP.NET NuGet 包,已被新版本的新包名称替换。它们每个都只有一个管理按钮-- 但没有卸载按钮。当您查看它们的使用位置时,您会发现解决方案的任何项目都没有引用它们?它们没有显示卸载?
我找到了解决方法。
启用包恢复和自动检查(选项/包管理器/常规)删除包文件夹的全部内容(如果你紧张的话到回收站!) 管理 Nuget 包的解决方案 单击恢复按钮。
NuGet 将仅还原解决方案中使用的包。您最终会得到一组漂亮、精简的软件包。
您可以使用带有命令的包管理器控制台:Uninstall-Package PackageId
将其删除,或者只是从解决方案文件夹下的“包”文件夹中删除包文件夹。您可以在此处找到有关包管理器控制台的更多信息:http://docs.nuget.org/docs/reference/package-manager-console-powershell-reference
Install-Package
的一种可怕的恭维。
首先打开包管理器控制台。然后从下拉列表中选择您的项目。并运行以下命令来卸载 nuget 包。
获取包
获取您已安装的所有软件包。
接着
卸载包 PagedList.Mvc
--- 卸载名为 PagedList.MVC 的包
信息
PM> Uninstall-Package PagedList.Mvc
Successfully removed 'PagedList.Mvc 4.5.0.0' from MCEMRBPP.PIR.
如果要删除/卸载应用于解决方案中多个项目的 Nuget 包,请转到:
工具-> Nuget 包管理器-> 管理解决方案的 Nuget 包 在左侧列中的“已安装包”选择“全部”,这样您将看到已安装包的列表和管理按钮。选择管理按钮,你会得到一个弹出窗口,取消选中项目名称中的复选框,然后确定
包管理器的其余工作将为您完成。
VS2019 > 工具 > 选项 > Nuget 包管理器 > 常规 > 点击“清除所有 Nuger 缓存”
如果您已使用 Uninstall-Package 实用程序删除了软件包并从解决方案下的软件包目录中删除了所需的软件包(并且您仍然收到错误),只需在代码编辑器中打开 *.csproj 文件并手动删除标签。例如,我想摆脱 Nuget 包 Xamarin.Forms.Alias 并从 *.csproj 文件中删除了这些行。
https://i.stack.imgur.com/MhfyH.png
最后,不要忘记在 Visual Studio 中提示后重新加载您的项目(更改项目文件后)。我在 Visual Studio 2015 上尝试过,但它应该也可以在 Visual Studio 2010 及更高版本上运行。
希望这可以帮助。
另一种方法是在解决方案的任何项目中安装要删除的未使用包,然后将其卸载,Nuget 也会将其删除。
这里需要一个合适的卸载程序。
解决方案 1
使用 powershell 管道获取包并在单个语句中删除,如下所示
Get-Package | Uninstall-Package
解决方案 2
如果要卸载选定的软件包,请按照以下步骤操作
使用 GetPackages 获取包列表 下载 Nimble 文本软件 在 NimbleText 中复制 GetPackages 的输出(对于列表窗口中的每一行) 将列分隔符设置为(如果需要,键入 Uninstall-Package $0(使用模式窗口替换)复制结果并将它们粘贴到包管理控制台中
所有人都这样。
一个 NuGet 包可以引用另一个 NuGet 包。所以,请注意包间的依赖关系。我刚刚卸载了一个谷歌地图包,它随后卸载了 Newtonsoft、Entity Framework 等底层包。
因此,从包文件夹中手动删除特定包会更安全。
在包管理器控制台窗口中,通常用于安装包的任何命令都可用于卸载该包。只需将 INSTALL 命令替换为 UNINSTALL。
例如,要安装 PowerTCPTelnet,命令是:
Install-Package PowerTCPTelnet -Version 4.4.9
要卸载相同,命令是:
Uninstall-Package PowerTCPTelnet -Version 4.4.9
如果您想使用 Visual Studio 选项,请参阅How to remove Nuget Packages from Existing Visual Studio solution:
第 1 步:在 Visual Studio 中,转到 Tools/NuGet Package Manager/Manage NuGet Packages for Solution…
第 2 步:从当前解决方案中取消选中您的项目
第 3 步:取消选择项目并按 OK
packages.config
中删除包并且 not 从项目中删除引用吗?