如何使用命令行清除NuGet包caching?

我可以使用VS工具/选项/ NuGet包pipe理器/常规清除我的开发计算机的NuGet包caching:[清除包caching]button。

我想在命令行中这样做。 不幸的是,我找不到nuget.exe相关的命令行开关。

我错过了什么?

首先,从这里下载nuget命令行工具。

接下来,打开一个命令提示符并cdnuget.exe下载目录。

您可以使用以下命令列出本地caching:

 nuget locals all -list 

您可以使用以下命令清除所有caching:

 nuget locals all -clear 

参考: https : //docs.nuget.org/consume/command-line-reference

nuget.exe实用程序没有此function,但是看到NuGetcaching只是您的计算机上的一个文件夹,您可以手动删除这些文件。 只需将其添加到您的batch file。

 del %LOCALAPPDATA%\NuGet\Cache\*.nupkg /q 

在Visual Studio 2017中,转至工具 – > Nuget Package Manager – > Package Manager Settings。 你可以find一个button“清除所有的Nu​​Getcaching” 在这里输入图像描述

如果您正在使用.NET Core,则可以使用此命令清除caching,该命令应该在.NET Core tools 1.0中运行:

dotnet nuget locals all --clear

这增加了rmoore的答案。

下载并安装NuGet命令行工具。

列出我们所有的当地人。

 $ nuget locals all -list http-cache: C:\Users\MyUser\AppData\Local\NuGet\v3-cache packages-cache: C:\Users\MyUser\AppData\Local\NuGet\Cache global-packages: C:\Users\MyUser\.nuget\packages\ 

我们现在可以手动删除这些或者像rmoorebuild议的那样,使用nuget locals all -clear

对我来说,我不得不在这里:

 %userprofile%\.nuget\packages 

请注意, dnx对于feed结果有不同的caching

 Microsoft .NET Development Utility Clr-x86-1.0.0-rc1-16231 CACHE https://www.nuget.org/api/v2/ CACHE http://192.168.148.21/api/odata/ 

你可以清除

 dnu clear-http-cache 

现在我们只需要找出在新的dotnet cli工具上的命令

…有

 dotnet restore --no-cache 

如果你需要清除构build服务器/代理的Nugetcaching,你可以在这里findNuget包的caching:

%windir%/ServiceProfiles/[account under build service runs]\AppData\Local\NuGet\Cache

示例:C:\ Windows \ ServiceProfiles \ NetworkService \ AppData \ Local \ NuGet \ Cache

你可以使用powershell(和我一样)。

例如:

 rm $env:LOCALAPPDATA\NuGet\Cache\*.nupkg 

或“安静”模式(没有错误信息):

 rm $env:LOCALAPPDATA\NuGet\Cache\*.nupkg 2> $null