通過VS下載的NuGet包,如何修改其下載存放路徑?

2022-09-07 06:03:23

一、瞭解NuGet包的預設存放路徑

我們通過NuGet包管理器下載的參照包,預設是存放在C槽的,儲存路徑一般是:

C:\Users\{系統使用者名稱}\.nuget\packages

二、為什麼需要修改NuGet包的預設存放路徑?

最直接的答案便是——節省C槽儲存資源,減緩C槽飈紅速度。

我們都知道,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\"/>
    </packageSources>
</configuration>

 3、將其內容替換為以下內容並儲存:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
    <packageSources>
        <add key="Microsoft Visual Studio Offline Packages" value="你想要NuGet包存放的新路徑"/>
    </packageSources>
	
    <!--新增的內容-->
    <config>
        <add key="globalPackagesFolder" value="你想要NuGet包存放的新路徑" />
    </config>
</configuration>

五、驗證修改的新路徑是否成功

用VS重新開啟某一專案,將專案中的某個參照包解除安裝後重新安裝,在專案參照列表中找到這個參照項,右鍵開啟屬性面板,在「路徑」一欄中我們可以清晰的發現參照的地址已經變成了我們剛剛設定的新地址。

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