在Linux上卸载NuGet包

4
在Linux下使用.NET Core,可以使用几种不同的工具来管理NuGet包:.NET Core CLI(dotnet命令)和在Mono下运行nuget.exe
在Microsoft文档中指出可以使用这两个工具安装和卸载包。显然可以使用任一工具安装包,但我没有找到使用任一工具卸载NuGet包的方法。 dotnet命令提供了一个remove子命令,该子命令从您的.csproj文件中删除包引用,但不会卸载包。您还可以使用nuget locals子命令及其--clear选项清除所有已安装的包,但不能仅清除单个包。
在Linux上是否可能卸载单个NuGet包?
1个回答

5
“安装包”和“卸载包”的术语起源于基于packages.config的NuGet模型,该模型将NuGet包的本地副本下载到解决方案文件旁边的文件夹中。如果需要,同时NuGet也会修改csproj文件来添加引用关系。
在新的.NET Core /“基于SDK的项目”世界中,情况已经发生了改变,因为您只需通过ID +版本参考包,并与机器上所有其他项目共享一个本地下载的包副本(从技术上讲,它是全局用户帐户)。此外,NuGet不再需要修改项目文件来添加或删除包。
尽管您可能希望使用`dotnet remove`等操作从项目中删除对包的引用,但不一定要从全局软件包缓存中删除该包,因为其他项目仍可以使用它们。如果您确实从缓存中删除它,那么还原操作(例如隐含运行的`dotnet build`)将重新下载包。
目前没有内置的方法可以同时删除包引用并从全局软件包缓存中删除它。

1
把它看作缓存而不是安装。请参阅管理全局包、缓存和临时文件夹 - Mark G

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接