Nuget本地临时缓存路径处理
点击上方蓝色字体,关注我们
一、前言日常开发工程中,常常会使用到三方框架或组件程序集,这些依赖的为 Nuget包引入方式。本地不存在或没有对应版本的时,在还原 Nuget包或者项目由 Vs初次打开时,Vs会依赖本地的 Nuget的已启用包源配置自动下载到本地的缓存路径,默认情况下该路径为当前用户帐户目录下,.nuget/.Nuget目录的 packages中。如果本地使用和开始过的项目越多,类型和依赖越多,那本地的临时文件缓存也就越多,这些包文件会随着时间的推移,越来越大,占用 C盘本就不多的存储空间。
二、解决办法那可以直接清除吗?可以。如果读者不嫌弃麻烦,可以不定期的对其进行清除,毕竟项目多,不是每次都需要开启所有的项目,删除本地临时依赖包也是可以的,只是避免不了,多次打开不同依赖的项目,仍然回去下载对应依赖包。
其实也有对应其他的方式,可以解决对应问题。以下是笔者整理的两种办法,各有优劣。
方式一、修改缓存路径C:\Program Files (x86)\NuGet\Config中Microsoft.VisualStudio.Offline.config内容节点添加如下内容:
其中,D:\Program Files\Nuget\Package读者可以替换为自己想要存储缓存文件的对应路径。
然后将 .nuget/packages文件夹中的缓存文件复制到对应上述配置好的目录中,基本上就算是完成迁移操作。
也可以在文件目录下创建,Nuget.config,将Microsoft.VisualStudio.Offline.config配置文件内容复制到其中,并添加如下内容:
配置之后,记得关闭 Vs后重启。避免因为 Vs的缓存问题造成新路径当前项目无效。
同时需要注意,有时候会出现对应 Nuget.config在软件升级安装过程中,被覆盖重置,导致配置被清空。
方式二、创建软链接【推荐方式】除了修改Nuget配置以外,还有一种简单方式是,迁移当前缓存包到其他盘符,nuget目录配置不变,构建目录链接指向迁移目录。一般在当前用户目录下:.dotnet/packages中,笔者直接迁移整个 .dotnet文件夹,指向其他盘。
这里需要使用到指令 mklink,这是系统自带指令,不需要额外安装。具体操作如下:
1、在目标盘符中,创建对应文件夹,此处为 D:\Program Files\Nuget\Package,然后 packages文件夹中的所有文件统统移动到目标文件夹 D:\Program Files\Nuget\Package中。
2、迁移完成后,回到 .nuget目录下,以管理员权限打开命令提示符,切换路径到 .nuget文件路径作为工作路径,执行指令 mklink,具体如下:
>mklink创建符号链接。MKLINK [[/D] | [/H] | [/J]] Link Target /D 创建目录符号链接。默认为文件 符号链接。 /H 创建硬链接而非符号链接。 /J 创建目录联接。 Link 指定新的符号链接名称。 Target 指定新链接引用的路径 (相对或绝对)。 >mklink /D packages "D:\Program Files\Nuget\Package"为 packages <<===>> D:\Program Files\Nuget\Package 创建的符号链接
输出如上结果,表示目录链接创建成功,同时 .nuget目录下生成如下文件,类型为文件类型,实际指向对应的 D:\Program Files\Nuget\Package文件目录,有别于快捷方式链接。
从两种方式来看,第二种,创建目录链接的方式,改动成本更小,出错率更低一些,所以笔者推荐以第二种方式进行 Nuget本地临时缓存目录的调整操作。以上就是笔者整理的相关技巧。
往期推荐EMC基础知识:开关电源产生的噪声
毕业设计So Easy:珠穆朗玛FM音频电台APP
LabVIEW洗手液包装颜色分类识别
点击阅读原文,更精彩~相关阅读
-
世界热推荐:今晚7:00直播丨下一个突破...
今晚19:00,Cocos视频号直播马上点击【预约】啦↓↓↓在运营了三年... -
NFT周刊|Magic Eden宣布支持Polygon网...
Block-986在NFT这样的市场,每周都会有相当多项目起起伏伏。在过去... -
环球今亮点!头条观察 | DeFi的兴衰与...
在比特币得到机构关注之后,许多财务专家预测世界将因为加密货币的... -
重新审视合作,体育Crypto的可靠关系才能双赢
Block-987即使在体育Crypto领域,人们的目光仍然集中在FTX上。随着... -
简讯:前端单元测试,更进一步
前端测试@2022如果从2014年Jest的第一个版本发布开始计算,前端开发... -
焦点热讯:刘强东这波操作秀
近日,刘强东发布京东全员信,信中提到:自2023年1月1日起,逐步为...