天天看點

NET 修改NuGet包預設存放位置

作者:中年農碼工
預設情況下,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的檔案,如下圖所示:
NET 修改NuGet包預設存放位置

繼續閱讀