一、了解NuGet包的默认存放路径

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

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

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

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

二、更改下载的NuGet存储位置

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" />
</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" />
</packageSources> <!--新增的内容-->
<config>
<!--默认全局包文件夹的位置。【仅使用 PackageReference 的 globalPackagesFolder (项目)】-->
<add key="globalPackagesFolder" value="你想要NuGet包存放的新路径" /> <!--安装 NuGet 包的位置,而非默认的 $(Solutiondir)/packages 文件夹。【仅限于 packages.config】 -->
<add key="repositoryPath" value="你想要NuGet包存放的新路径" />
</config>
</configuration>

三、修改VS离线包引用地址

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 key="Microsoft Visual Studio Offline Packages" value="D:\document_NuGet_Packages_Global\"/>
</packageSources>
</configuration>

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

<?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 key="Microsoft Visual Studio Offline Packages" value="D:\document_NuGet_Packages_Global\"/>
</packageSources> <!--新增的内容-->
<config>
<add key="globalPackagesFolder" value="你想要NuGet包存放的新路径" />
</config>
</configuration>

四、验证修改的新路径是否成功

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

-------------------------------本篇文章到此结束-------------------------------------

通过VS下载的NuGet包,如何修改其下载存放路径?的更多相关文章

  1. NuGet包断线续传下载

    NuGet包断线续传下载(金庆的专栏)NuGet是VC的扩展,用来下载依赖包.NuGet下载没有断线续传,下载源又很容易断开.  https://nuget.org/api/v2/  https:// ...

  2. Gradle下载依赖jar包位置修改

    gradle会下载相关需要依赖的jar包,默认的本地存放地址是:C:/Users/(用户名)/.gradle/caches/modules-2/files-2.1,很多人和我一样不愿意放在C盘,所以需 ...

  3. [转帖]yum 下载rpm包 之前不知道具体的存放路径.

    使用Yum下载RPM包-进击的二狗子-51CTO博客 https://www.2cto.com/os/201905/807225.html yumdownloader 命令 yum install y ...

  4. Visual Studio 修改NuGet 包缓存路径

    Visual Studio 下载的NuGet包默认会缓存到 C:\Users{Windows用户名}.nuget\packages 下,时间一长就会导致 C盘空间严重不足. 那么怎样去设置,让包缓存文 ...

  5. 使用 nuget server 的 API 来实现搜索安装 nuget 包

    使用 nuget server 的 API 来实现搜索安装 nuget 包 Intro nuget 现在几乎是 dotnet 开发不可缺少的一部分了,还没有用过 nuget 的就有点落后时代了,还不快 ...

  6. idea 使用maven 下载源码包

    方式1:全量下载源码包 方式二:下载单个源码包 随便找个源码可以看到文件上有download (标识下载源码包) choose sources表示选择那个版本的源码包

  7. zh-Hans vs.net 通过 管理nuget程序包下载简体中文语言包 zh-cn

    zh-Hans  vs.net 通过 管理nuget程序包下载简体中文语言包 在搜索中输入:zh-hans

  8. gradle下载的依赖包位置 及 修改

    gradle下载的依赖包位置 2018年08月01日 00:37:06 LuckyJiang-2019 阅读数:3569   Mac系统默认下载到: /Users/(用户名)/.gradle/cach ...

  9. 无法正常下载Nuget 包的问题

    引用Nuget 是遇到的问题,再次记录一下. 问题描述:Install-Package : 无法安装程序包“Quartz 3.0.2”.您正在尝试将此程序包安装到某个将“.NETFramework,V ...

随机推荐

  1. leetcode题解#3:无重复字符的最长子串

    leetcode题解:无重复字符的最长子串 题目 给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度. 示例 1: 输入: s = "abcabcbb"输出: 3 解释 ...

  2. 如何查看/修改Redis密码

    一.修改密码: 打开redis.windows.conf文件,默认是没有红框框里这句话的,因为默认密码是"",就是没有,跟MySql一样. 加上这句话意思就是密码修改为 root ...

  3. halcon数组的一些使用

    没啥好讲的,这里对于不是数组部分的东西就不进行讲解了. area_center(RegionOpening,Area, Row, Column).使用area_center来求区域的中心和面积时,返回 ...

  4. HHL论文及代码理解(Generalizing A Person Retrieval Model Hetero- and Homogeneously ECCV 2018)

    行人再识别Re-ID面临两个特殊的问题: 1)源数据集和目标数据集类别完全不同 2)相机造成的图片差异 因为一般来说传统的域适应问题源域和目标域的类别是相同的,相机之间的不匹配也是造成行人再识别数据集 ...

  5. 循环控制-break语句和continue语句

    break关键字的用法有常见的两种: 1.可以用switch语句当中,一旦执行,整个switch语句立刻结束 2.还可以用在循环语句当中,一定执行,整个循环语句立刻结束,打断循环 关于循环的选择,有一 ...

  6. 常用类-Instant、DateTimeFormatter类的使用

    一.Instant 我们所处的时间点是在东八区,Java中Instant所计算出来的时间是按本初子午线的时间来算的,与我们的时间相差8个小时,也就是说当我的北京时间是上午九点时,本初子午线的时间是凌晨 ...

  7. 4-1 Spring框架基础知识

    Spring框架基础知识 1.Spring 框架作用 主要解决了创建对象和管理对象的问题. 自动装配机制 2.Spring 框架 (Spring容器,JavaBean容器,Bean容器,Spring容 ...

  8. 09 MySQL_SQL日期函数和聚合函数

    日期相关的函数 seclect 'helloworld'; 1. 获取当前时间 now(); select now(); 2.获取当前的日期 curdate(); select curdate(); ...

  9. excel网络函数库之谷歌翻译

    不知道看到本篇文章的小伙伴是否被表格翻译所困扰,当面对大量需要被翻译的文件内容,有着三头六臂的孙悟空也难以招架得住,那么有没有一个工具能让我们快速将大量文件进行翻译呢? ExcelApi函数库的横空出 ...

  10. NOI / 2.1基本算法之枚举 1749:数字方格

    描述: 如上图,有3个方格,每个方格里面都有一个整数a1,a2,a3.已知0 <= a1, a2, a3 <= n,而且a1 + a2是2的倍数,a2 + a3是3的倍数, a1 + a2 ...