任何基于
packages
或 csproj
的 .NET Core 项目中都不再有 project.json
解决方案文件夹。
NuGet CLI 获取已使用的缓存文件夹的列表:
nuget locals all -list
回应:
http-cache: C:\Users\<foo>\AppData\Local\NuGet\v3-cache
global-packages: C:\Users\<foo>\.nuget\packages\
temp: C:\Users\<foo>\AppData\Local\Temp\NuGetScratch
如何更改或覆盖这些位置?
UPD 2024:所有独立的
nuget
命令均替换为 dotnet nuget
CLI。提供的信息与 VS2022 和 .NET 8 相关。
dotnet nuget locals all --list
及其典型输出(我用变量替换了绝对路径并对其进行了美化):
global-packages: %USERPROFILE%\.nuget\packages
http-cache: %$LOCAL_APPDATA%\NuGet\v3-cache
temp: %$LOCAL_APPDATA%\Temp\NuGetScratch
plugins-cache: %$LOCAL_APPDATA%\NuGet\plugins-cache
请注意,计算机范围的文件夹未在此处列出。但是,它是在 Visual Studio 设置中定义的:选项 -> NuGet 包管理器 -> 包源。默认情况下是:
C:\Program Files (x86)\Microsoft SDKs\NuGetPackages\
在包源中,您可以根据需要添加/删除任意多个缓存位置。配置文件
NuGet.config
文件位于此处:
%APPDATA%\NuGet\
%ProgramFiles(x86)%\NuGet\Config\
NuGet.config
设置都可以在多个级别(项目、解决方案、用户、机器)被覆盖。在此处阅读有关
NuGet.config
分层优先级排序的更多信息:如何应用设置。 例如,
globalPackagesFolder
参数更改包缓存位置:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<config>
<clear />
<add key="globalPackagesFolder" value="c:\packages" />
</config>
</configuration>
MS 文档:
全局包
NUGET_PACKAGES 环境变量、globalPackagesFolder 或repositoryPath 配置设置(分别使用PackageReference 和packages.config 时)或RestorePackagesPath MSBuild 属性(仅限MSBuild)进行覆盖。 环境变量优先于配置设置。