修改NuGet包默认存放位置

文章介绍了NuGet包默认存储在C盘可能导致空间占用过多的问题,并详细说明了如何修改配置,将下载位置更改为自定义的目录,以释放C盘空间。通过编辑NuGet的全局配置文件NuGet.Config,添加globalPackagesFolder键值对,指定新的包存放路径,然后删除C盘原默认路径的文件,即可完成设置。

默认情况下,NuGet下载的包存放在系统盘(C盘中),这样一来,时间长了下载的包越多,C盘占用的空间也就越多。

1、问题描述

默认情况下,NuGet下载的包存放在系统盘(C盘中,一般在路径C:\Users\用户\.nuget\packages下),这样一来,时间长了下载的包越多,C盘占用的控件也就越多。

那么有没有办法将默认的下载位置修改掉呢?答案肯定是可以的。

2、修改默认存放位置的目的

目的很简单,当然是给C盘留出更多的空间来。

3、具体修改

我们先找到NuGet的全局配置文件NuGet.Config,一般存放在路径C:\Users\用户\AppData\Roaming\NuGet\NuGet.Config下,打开该文件,我们在configuration节点下添加如下配置即可:

<config> 
    <add key="globalPackagesFolder" value="D:\Net_Program\Net_NuGet\Packages" />
</config>

其中的globalPackagesFolder就是我们全局设置的Key属性,对应的value值就是我们要设置存放的文件夹位置。

4、全局配置文件NuGet.Config完整代码

完整的配置代码如下所示:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <packageRestore>
    <add key="enabled" value="True" />
    <add key="automatic" value="True" />
  </packageRestore>
  <bindingRedirects>
    <add key="skip" value="False" />
  </bindingRedirects>
  <packageManagement>
    <add key="format" value="0" />
    <add key="disabled" value="False" />
  </packageManagement>
  <packageSources>
    <add key="nuget-v3" value="https://api.nuget.org/v3/index.json" />
    <add key="nuget.org" value="https://api.nuget.org/v3/index.json" protocolVersion="3" />
    <add key="nuget.org" value="https://www.nuget.org/api/v2/" />
    <add key="NuGet-Azure" value="https://nuget.cdn.azure.cn/v3/index.json" />
    <add key="Microsoft Visual Studio Offline Packages" value="C:\Program Files (x86)\Microsoft SDKs\NuGetPackages\" />
  </packageSources>
  <activePackageSource>
    <add key="nuget-v3" value="https://api.nuget.org/v3/index.json" />
  </activePackageSource>
  <config> 
    <add key="globalPackagesFolder" value="D:\Net_Program\Net_NuGet\Packages" />
  </config>
</configuration>

我们每个电脑上的全局配置文件中的内容可能不一样,这里我们只需要关心节点<config>globalPackagesFolder即可。

配置好后,我们重新打开VS去下载一个包,即可看到包已经存放到我们新配置的路径下了。

5、删除C盘默认的存放文件

当我们配置好后,就可以删除掉C盘中默认的存放文件了(C:\Users\用户\.nuget\packages直接删除掉即可)。

经过重新配置存放路径后,作者电脑的C盘清理了大概7.5G的文件,如下图所示:image

<think>我们正在讨论NuGet存放目录问题。根据用户提供的引用,NuGet默认下载到C盘,但可以通过修改配置文件更改存放路径。 用户引用的内容表明: 1. NuGet的配置文件位于:C:\Users\{yourName}\AppData\Roaming\NuGet\NuGet.Config 2. 在配置文件中添加<config>节点,并在其中指定globalPackagesFolder的值,即可修改默认存放路径。 3. 修改后需要重启Visual Studio生效。 因此,回答应该围绕如何修改NuGet的全局文件夹(globalPackagesFolder)路径。 另外,用户之前的问题是关于Office Interop版本冲突,但当前问题独立,是询问NuGet下载文件的存放目录。所以不需要关联之前的问题。 根据引用,总结步骤: 步骤1:打开NuGet配置文件 步骤2:在<configuration>节点下添加<config>节点,并设置globalPackagesFolder 步骤3:保存并重启VS 同时注意:引用[3]提到另一个配置文件(Microsoft.VisualStudio.Offline.config),但根据上下文,主要修改的是NuGet.Config(引用[1]和[2])。所以重点放在NuGet.Config上。 另外,用户可能需要知道默认路径是什么,以及修改后的迁移建议(将原有移动到新位置)。 因此,回答结构如下: 1. 默认存放目录 2. 修改存放目录的方法(步骤) 3. 迁移已有的注意事项 4. 验证方法 生成的相关问题围绕NuGet管理。 </think>### NuGet 下载文件的存放目录详解 #### 📁 **默认存放目录** NuGet 下载的文件默认存储在以下路径(Windows 系统): ```bash C:\Users\{您的用户名}\.nuget\packages ``` 例如用户名为 `John` 时路径为: `C:\Users\John\.nuget\packages` #### ️ **修改存放目录的方法** 通过修改 NuGet 配置文件可自定义存储位置: 1. **打开配置文件** 路径:`C:\Users\{用户名}\AppData\Roaming\NuGet\NuGet.Config` 2. **添加全局目录配置** 在 `<configuration>` 节点内添加: ```xml <config> <!-- 修改value值为自定义路径 --> <add key="globalPackagesFolder" value="D:\.nuget\packages" /> </config> ``` 完整配置示例: ```xml <?xml version="1.0" encoding="utf-8"?> <configuration> <packageSources> <add key="nuget.org" value="https://api.nuget.org/v3/index.json" /> </packageSources> <config> <add key="globalPackagesFolder" value="D:\MyNugetPackages" /> </config> </configuration> ``` 3. **迁移现有**(可选) 将原 `C:\.nuget\packages` 内容剪切到新目录 → 避免重复下载[^1] 4. **重启 Visual Studio** 修改后需重启 IDE 生效[^2] #### ✅ **验证修改结果** 1. 在 PowerShell 执行: ```powershell nuget locals global-packages -list ``` 2. 输出应显示新路径: ```bash global-packages: D:\MyNugetPackages ``` > **迁移提示**:首次修改后创建新项目时将自动使用新目录,已有项目需删除 `obj` 和 `bin` 文件夹后重新生成。 #### **目录结构说明** 典型目录层级示例: ```bash D:\MyNugetPackages └── newtonsoft.json └── 13.0.1 ├── lib ├── newtonsoft.json.nuspec └── _rels ``` 每个的版本独立存储,便于多版本共存管理。 --- ### 相关问题 1. 如何清理 NuGet 缓存以释放磁盘空间? 2. 修改全局目录后出现还原错误如何解决? 3. 如何在团队开发中统一配置 NuGet 路径? 4. 是否能为不同项目设置不同的 NuGet 存储路径? 5. 离线环境如何配置 NuGet 本地存储?
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值