Cache locations
Solution-local packages folders are no longer exist for .NET Core and Visual Studio 2017.
NuGet is now fully integrated into MSBuild:
Solution-local packages folders are no longer used – Packages are now
resolved against the user’s cache at %userdata%.nuget, rather than a
solution specific packages folder. This makes PackageReference perform
faster and consume less disk space by using a shared folder of
packages on your workstation.
NuGet 4.0+ uses at least two global package locations:
- User-specific:
%userprofile%.nugetpackages
- Machine-wide:
%ProgramFiles(x86)%Microsoft SDKsNuGetPackages"
You can list all user-specific folders using the following console command:
nuget locals all -list
Notice that the machine-wide folder isn't listed there. However, it is defined at Visual Studio settings:
Options -> NuGet Package Manager -> Package Sources
Configuration files
NuGet.config
files are located here:
- User-specific:
%APPDATA%NuGet
- Machine-wide:
%ProgramFiles(x86)%NuGetConfig
It is possible to change and override NuGet settings at many levels:
- project
- solution
- user
- machine
And even more! Read more about NuGet.config
hierarchical priority ordering here: How settings are applied.
For example, globalPackagesFolder
parameter changes a package cache location. Look at this NuGet.config
example:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<config>
<clear />
<add key="globalPackagesFolder" value="c:packages" />
</config>
</configuration>
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…