当前位置: 首页 > news >正文

Nuget包缓存存放位置迁移

一、背景

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

二、软件环境

win10、vs2022

三、查看当前缓存存放位置

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

dotnet nuget locals all --list

  执行结果:

四、缓存介绍

可以看到nuget相关缓存有4种,具体介绍可以参考官网说明:

名称说明和位置(每个用户)
global-packagesglobal-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-cacheVisual Studio 包管理器 (NuGet 3.x+) 和 dotnet 工具存储此缓存中下载包的副本(另存为 .dat 文件),这些副本被组织到每个包源的子文件夹中。 未展开包,且缓存中有 30 分钟的到期时间。
  • Windows: %localappdata%\NuGet\v3-cache
  • Mac/Linux:~/.local/share/NuGet/v3-cache
  • 使用 NUGET_HTTP_CACHE_PATH 环境变量替代。
tempNuGet 在各操作期间在其中存储临时文件的文件夹。
  • 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
D:\LocalCache\nuget\v3-cacheNUGET_PACKAGES
D:\LocalCache\nuget\packagesNUGET_PLUGINS_CACHE_PATH
D:\LocalCache\nuget\plugins-cacheNUGET_SCRATCH
D:\LocalCache\nuget\NuGetScratch

六、缓存迁移

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

http-cache: C:\Users\用户名\AppData\Local\NuGet\v3-cacheD:\LocalCache\nuget\v3-cache
global-packages: C:\Users\HONOR\.nuget\packages\D:\LocalCache\nuget\packages
temp:C:\Users\HONOR\AppData\Local\Temp\NuGetScratchD:\LocalCache\nuget\NuGetScratch

plugins-cache:C:\Users\HONOR\AppData\Local\NuGet\plugins-cacheD:\LocalCache\nuget\plugins-cache

http://www.lryc.cn/news/290290.html

相关文章:

  • 键盘上Ins键的作用
  • css display 左右对齐 技巧
  • 【Linux操作系统】:Linux开发工具编辑器vim
  • Good Trip Codeforces Round 921 (Div. 2) 1925D
  • 推荐一款Linux、数据库、Redis、MongoDB统一管理平台!
  • TensorFlow2实战-系列教程6:迁移学习实战
  • 怎样开发adobe indesign插件,具体流程?
  • Docker 安装与基本操作
  • 译文带你理解Python的dataclass装饰器
  • 【C语言】实现程序的暂停
  • Hana SQL+正则表达式
  • 【笔记】顺利通过EMC试验(16-41)-视频笔记
  • Qlik Sense 调用NPrinting生成On-Demand报表
  • ElasticSearch重建/创建/删除索引操作 - 第501篇
  • 数据写入HBase(scala)
  • Codeforces Round 799 (Div. 4)
  • 为什么要用云手机养tiktok账号
  • vue pc端网页实现自适应
  • Android 13以上版本读写SD卡权限适配
  • 并查集模板:食物链详解
  • 使用WAF防御网络上的隐蔽威胁之反序列化攻击
  • 05. 交换机的基本配置
  • yolo将标签数据打到原图上形成目标框
  • 002-00-02【大红ai源码】dolphinscheduler3.2.0 源码环境搭建------by孤山村头王大爷家女儿大红
  • python-自动化篇-运维-监控-如何使⽤Python处理和解析⽇志⽂件?-实操记录
  • 代码随想录算法训练营DAY6 | 哈希表(1)
  • 【嵌入式学习】C++QT-Day3-C++基础
  • 表贴式PMSM的直接转矩控制(DTC)MATLAB仿真模型
  • 详解OpenHarmony各部分文件在XR806上的编译顺序
  • 【美团】无人机-大数据开发工程师