通过VS下载的NuGet包,如何修改其下载存放路径?

我们通过NuGet包管理器下载的引用包,默认是存放在C盘的,存储路径一般是:

C:\Users\{系统用户名}\.nuget\packages

最直接的答案便是——节省C盘存储资源,减缓C盘飚红速度。

我们都知道,C盘的存储资源是有限的,而随着我们开发的项目越来越多,所引用的NuGet包自然而然也是越来越多。如果我们不做清理,这些文件会一直占据C盘的存储空间,让本就不富裕的C盘雪上加霜,而我们定时清理的话,下一次打开项目时会出现引用丢失找不到的情况,或者VS又重新下载引用包文件,简直是费时费力不讨好。

这时就有小伙伴要问了,我们能不能把下载的NuGet包存放在C盘之外的其他盘中吗?答案是当然可以。

1、根据下述文件路径,找到一个名为”NuGet.Config”的文件,或者通过搜索,直接查找该文件。

C:\Users\{系统用户名}\AppData\Roaming\NuGet

2、打开”NuGet.Config”这个文件,我们可以看到原始的文件内容如下所示:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
    <packagesources>
        <add key="nuget.org" value="https://api.nuget.org/v3/index.json" protocolversion="3">
    </add></packagesources>
</configuration>

3、将其内容替换为以下内容并保存:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
    <packagesources>
        <add key="nuget.org" value="https://api.nuget.org/v3/index.json" protocolversion="3">
    </add></packagesources>

    <!--新增的内容-->
    <config>
        <!--默认全局包文件夹的位置。【仅使用 PackageReference 的 globalPackagesFolder (项目)】-->
        <add key="globalPackagesFolder" value="&#x4F60;&#x60F3;&#x8981;NuGet&#x5305;&#x5B58;&#x653E;&#x7684;&#x65B0;&#x8DEF;&#x5F84;">

        <!--安装 NuGet 包的位置,而非默认的 $(Solutiondir)/packages 文件夹。【仅限于 packages.config】 -->
        <add key="repositoryPath" value="&#x4F60;&#x60F3;&#x8981;NuGet&#x5305;&#x5B58;&#x653E;&#x7684;&#x65B0;&#x8DEF;&#x5F84;">
    </add></add></config>
</configuration>

1、根据下述文件路径,找到一个名为”Microsoft.VisualStudio.Offline.config”的文件,或者通过搜索,直接查找该文件。

C:\Program Files (x86)\NuGet\Config

2、打开”Microsoft.VisualStudio.Offline.config”这个文件,我们可以看到原始的文件内容如下所示:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
    <packagesources>
        <add key="Microsoft Visual Studio Offline Packages" value="C:\Program Files (x86)\Microsoft SDKs\NuGetPackages\">
    </add></packagesources>
</configuration>

3、将其内容替换为以下内容并保存:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
    <packagesources>
        <add key="Microsoft Visual Studio Offline Packages" value="&#x4F60;&#x60F3;&#x8981;NuGet&#x5305;&#x5B58;&#x653E;&#x7684;&#x65B0;&#x8DEF;&#x5F84;">
    </add></packagesources>

    <!--新增的内容-->
    <config>
        <add key="globalPackagesFolder" value="&#x4F60;&#x60F3;&#x8981;NuGet&#x5305;&#x5B58;&#x653E;&#x7684;&#x65B0;&#x8DEF;&#x5F84;">
    </add></config>
</configuration>

用VS重新打开某一项目,将项目中的某个引用包卸载后重新安装,在项目引用列表中找到这个引用项,右键打开属性面板,在”路径”一栏中我们可以清晰的发现引用的地址已经变成了我们刚刚设置的新地址。

Original: https://www.cnblogs.com/iZOHC/p/16663593.html
Author: 张欧昊辰
Title: 通过VS下载的NuGet包,如何修改其下载存放路径?

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/612983/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • java读写锁

    工作遇到了金钱计算,需要用到读写锁保证数据安全。记录一下。 单纯读没有限制,读写、写写的时候会有安全问题。 _hashMap_存在并发线程安全问题,而 _hashtable_线程安…

    数据库 2023年6月16日
    074
  • Mysql数据库存取原理及性能优化

    一、Mysql的系统架构图 二、Mysql存储引擎 Mysql中的数据是通过一定的方式存储在文件或者内存中的,任何方式都有不同的存储、查找和更新机制,这意味着选择不同的方式对于数据…

    数据库 2023年6月14日
    099
  • permgen space解决方案

    原文地址:http://outofmemory.cn/c/java-outOfMemoryError java.lang.OutOfMemoryError这个错误我相信大部分开发人…

    数据库 2023年6月11日
    079
  • 最新Mysql大厂面试必会的34问题

    1、mysql的隔离级别 四种隔离级别: READ-UNCOMMITTED(读取未提交): 最低的隔离级别,允许读取尚未提交的数据变更, 可能会导致脏读、幻读或不可重复读 。 RE…

    数据库 2023年5月24日
    075
  • DM-DM之间的DBLINK

    1 创建外部链接 创建一个外部链接。 语法格式 CREATE [OR REPLACE] [PUBLIC] LINK STANDBY FIRST | PRIMARY ONLY | S…

    数据库 2023年6月11日
    073
  • Cannot execute statement in a READ ONLY transaction.

    报错如下: Cause: java.sql.SQLException: Cannot execute statement in a READ ONLY transaction. ;…

    数据库 2023年6月11日
    087
  • DRF补充数据库异常和Redis异常

    DRF补充数据库异常和Redis异常 (1)在项目适当位置新建exceptions.py,内容如下: from rest_framework.views import except…

    数据库 2023年6月14日
    059
  • 量子物理

    今天刷了YouTube的量子物理了解到了量子物理的发展史从微观到相对论从原子核到量子纠缠何其快哉 物理学:经典物理,量子物理。经典物理:万有引力量子物理:相对论 Original:…

    数据库 2023年6月11日
    076
  • Docker安装部署Mysql8(以作数据持久化)

    1.创建容器并进行持久化处理 #拉取镜像 docker pull mysql:8.0.20 #启动镜像,用于拷贝配置文件到宿主机 docker run -p 3306:3306 -…

    数据库 2023年6月11日
    097
  • Linux中的进程的服务和控制

    Linux中的进程 进程:已经启动的可执行程序的运行实例 1、PID:进程的ID(每一个新进程都有一个唯一的PID) 2、PPID:父进程的ID 3、任何一个进程都可以创建一个子进…

    数据库 2023年6月16日
    047
  • MySQL并行复制(MTS)原理(完整版)

    MySQL 5.6并行复制架构 MySQL 5.7并行复制原理 Master 组提交(group commit) 支持并行复制的GTID slave LOGICAL_CLOCK(由…

    数据库 2023年5月24日
    097
  • Fork/Join框架

    我们要使用ForkJoin框架,必须首先创建一个ForkJoin任务。它提供在任务中执行 fork()和 join() 操作的机制,通常情况下我们不需要直接继承ForkJoinTa…

    数据库 2023年6月14日
    076
  • docker使用

    什么是虚拟化 在计算机中,虚拟化(英语:Virtualization)是一种资源管理技术,是将计算机的各种实体资源,如服务器、网络、内存及存储等,予以抽象、转换后呈现出来,打破实体…

    数据库 2023年6月9日
    094
  • python_Xpath入门

    下面列出了最有用的路径表达式: 表达式 nodename 选取此节点的所有子节点。 从根节点选取。 从匹配选择的当前节点选择文档中的节点,而不考虑它们的位置。 选取当前节点。 选取…

    数据库 2023年6月11日
    073
  • 多商户商城系统功能拆解30讲-平台端营销-商家优惠券

    多商户商城系统,也称为B2B2C(BBC)平台电商模式多商家商城系统。可以快速帮助企业搭建类似拼多多/京东/天猫/淘宝的综合商城。 多商户商城系统支持商家入驻加盟,同时满足平台自营…

    数据库 2023年6月14日
    090
  • 一元二次方程

    通过分析古巴比伦泥板上的代数问题,可以发现在公元前2250年古巴比伦人就已经掌握了与求解一元二次方程相关的代数学知识,并将之应用于解决有关矩形面积和边的问题。 [2] 相关的算法可…

    数据库 2023年6月11日
    089
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球