C# Visual Studio全栈开发人员 C盘瘦身 配置

76 篇文章 3 订阅
17 篇文章 1 订阅

一、背景
默认情况下,NuGet会将项目中使用的包缓存到C盘,随着项目开发积累nuget包越来越多,这会逐渐挤占大量C盘空间,所以我们可以将nuget包缓存位置指定到其他盘中存放。

二、软件环境
win10、vs2022

三、查看当前缓存存放位置
在cmd中执行如下命令,可以查看当前nuget包缓存存放的位置

dotnet nuget locals all --list

四、缓存介绍
可以看到nuget相关缓存有4种,具体介绍可以参考官网说明如何管理 NuGet 中的全局包、缓存、临时文件夹 | Microsoft Learn

名称    说明和位置(每个用户)
global-packages    global-packages 文件夹是 NuGet 安装任何下载包的位置。 每个包完全展开到匹配包标识符和版本号的子文件夹。 使用 PackageReference 格式的项目始终直接从该文件夹中使用包。 使用 packages.config 时,包将安装到 global-packages 文件夹,然后复制到项目的 packages 文件夹。
Windows: %userprofile%\.nuget\packages
Mac/Linux:~/.nuget/packages
使用 NUGET_PACKAGES 重写环境变量 globalPackagesFolder 或 repositoryPath配置设置(分别在使用 PackageReference 和 packages.config 时)或 RestorePackagesPath MSBuild 属性(仅限 MSBuild)。 环境变量优先于配置设置。
http-cache    Visual Studio 包管理器 (NuGet 3.x+) 和 dotnet 工具存储此缓存中下载包的副本(另存为 .dat 文件),这些副本被组织到每个包源的子文件夹中。 未展开包,且缓存中有 30 分钟的到期时间。
Windows: %localappdata%\NuGet\v3-cache
Mac/Linux:~/.local/share/NuGet/v3-cache
使用 NUGET_HTTP_CACHE_PATH 环境变量替代。
temp    NuGet 在各操作期间在其中存储临时文件的文件夹。
Windows: %temp%\NuGetScratch
Mac:/tmp/NuGetScratch
Linux:/tmp/NuGetScratch<username>
使用 NUGET_SCRATCH 环境变量替代。
plugins-cache 4.8 +    NuGet 存储来自操作声明请求的结果的文件夹。
Windows: %localappdata%\NuGet\plugins-cache
Mac/Linux:~/.local/share/NuGet/plugins-cache
使用 NUGET_PLUGINS_CACHE_PATH 环境变量替代。
五、缓存路径配置
 依据官方说明文档,我们可以使用环境变量去配置这4种缓存的存放位置

根据自己的喜好在指定的目录创建好对应的文件夹,并创建4个如下环境变量:
 

NUGET_HTTP_CACHE_PATH
E:\LocalCache\nuget\v3-cache
 
NUGET_PACKAGES
E:\LocalCache\nuget\packages
 
NUGET_PLUGINS_CACHE_PATH
E:\LocalCache\nuget\plugins-cache
 
NUGET_SCRATCH
E:\LocalCache\nuget\NuGetScratch

六、缓存迁移

 配置完成以后,将旧路径下的缓存文件剪切到新路径下即可

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

云草桑

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值