在Linux下使用.NET Core,可以使用几种不同的工具来管理NuGet包:.NET Core (dotnet
命令)和在Mono下运行nuget.exe
。
在Microsoft文档中,它表示可以使用这两种工具安装和卸载包。显然可以使用这两种工具来安装软件包,但是我还没有找到一种方法来卸载使用这两种工具的NuGet包。
dotnet
命令提供一个remove
子命令,它从.csproj
文件中删除包引用,但不卸载包。您还可以使用nuget locals
子命令和--clear
选项来清除所有已安装的包,但不只是一个包。
是否可以在Linux上卸载一个NuGet包?
发布于 2018-07-09 18:39:12
“安装”和“卸载包”的术语源自基于packages.config的NuGet模型,该模型将NuGet包的本地副本下载到解决方案文件旁边的文件夹中。然后,NuGet还将修改csproj文件,以便在需要时添加引用。
在新的.NET核心/“基于SDK的项目”世界中,情况不再是这样,因为您只需引用ID+Version的包并与计算机上的所有其他项目共享一个本地下载的包副本(从技术上讲,它对用户帐户是全局的)。此外,NuGet不再需要修改项目文件来添加或删除包。
虽然您希望dotnet remove
和类似的操作从项目中删除对包的引用,但是您不一定希望从全局包缓存中删除包,因为其他项目可能仍然使用它们。如果确实将其从缓存中删除,则还原操作(例如,在dotnet build
期间隐式运行)将重新下载包。
目前还没有内置的方法来删除包引用并从全局包缓存中删除它。
https://stackoverflow.com/questions/51251029
复制相似问题