<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          Nuget本地臨時緩存路徑處理

          共 1851字,需瀏覽 4分鐘

           ·

          2022-04-09 01:24

          點擊上方藍色字體,關(guān)注我們


          一、前言

          日常開發(fā)工程中,常常會使用到三方框架或組件程序集,這些依賴的為 Nuget 包引入方式。本地不存在或沒有對應(yīng)版本的時,在還原 Nuget包 或者項目由 Vs 初次打開時,Vs會依賴本地的 Nuget已啟用包源配置自動下載到本地的緩存路徑,默認情況下該路徑為當前用戶帳戶目錄下,.nuget/.Nuget 目錄的 packages 中。如果本地使用和開始過的項目越多,類型和依賴越多,那本地的臨時文件緩存也就越多,這些包文件會隨著時間的推移,越來越大,占用 C盤 本就不多的存儲空間。

          二、解決辦法

          那可以直接清除嗎?可以。如果讀者不嫌棄麻煩,可以不定期的對其進行清除,畢竟項目多,不是每次都需要開啟所有的項目,刪除本地臨時依賴包也是可以的,只是避免不了,多次打開不同依賴的項目,仍然回去下載對應(yīng)依賴包。

          其實也有對應(yīng)其他的方式,可以解決對應(yīng)問題。以下是筆者整理的兩種辦法,各有優(yōu)劣。

          方式一、修改緩存路徑

          C:\Program Files (x86)\NuGet\ConfigMicrosoft.VisualStudio.Offline.config內(nèi)容節(jié)點添加如下內(nèi)容:

          ? version="1.0" encoding="utf-8"?>
          ?<configuration>
          ? ?<packageSources>
          ? ? ?<add key="Microsoft Visual Studio Offline Packages" value="C:\Program Files (x86)\Microsoft SDKs\NuGetPackages\"/>
          ? ?packageSources>
          ? ?<config>
          ? ? ?<add key="globalPackagesFolder" value="D:\Program Files\Nuget\Package" />
          ? ?config>
          ?configuration>

          其中,D:\Program Files\Nuget\Package 讀者可以替換為自己想要存儲緩存文件的對應(yīng)路徑。

          然后將 .nuget/packages 文件夾中的緩存文件復制到對應(yīng)上述配置好的目錄中,基本上就算是完成遷移操作。

          也可以在文件目錄下創(chuàng)建,Nuget.config,將Microsoft.VisualStudio.Offline.config配置文件內(nèi)容復制到其中,并添加如下內(nèi)容:

          ? version="1.0" encoding="utf-8"?>
          ?<configuration>
          ? ?<packageSources>
          ? ? ?<add key="Microsoft Visual Studio Offline Packages" value="C:\Program Files (x86)\Microsoft SDKs\NuGetPackages\"/>
          ? ?packageSources>
          ? ?<config>
          ? ? ?<add key="globalPackagesFolder" value="D:\Program Files\Nuget\Package" />
          ? ?config>
          ?configuration>

          配置之后,記得關(guān)閉 Vs重啟。避免因為 Vs 的緩存問題造成新路徑當前項目無效。

          同時需要注意,有時候會出現(xiàn)對應(yīng) Nuget.config 在軟件升級安裝過程中,被覆蓋重置,導致配置被清空。

          方式二、創(chuàng)建軟鏈接【推薦方式】

          除了修改Nuget配置以外,還有一種簡單方式是,遷移當前緩存包到其他盤符,nuget目錄配置不變,構(gòu)建目錄鏈接指向遷移目錄。一般在當前用戶目錄下:.dotnet/packages 中,筆者直接遷移整個 .dotnet 文件夾,指向其他盤。

          這里需要使用到指令 mklink ,這是系統(tǒng)自帶指令,不需要額外安裝。具體操作如下:

          1、在目標盤符中,創(chuàng)建對應(yīng)文件夾,此處為 D:\Program Files\Nuget\Package,然后 packages 文件夾中的所有文件統(tǒng)統(tǒng)移動到目標文件夾 D:\Program Files\Nuget\Package 中。

          2、遷移完成后,回到 .nuget 目錄下,以管理員權(quán)限打開命令提示符,切換路徑到 .nuget 文件路徑作為工作路徑,執(zhí)行指令 mklink ,具體如下:

          ?>mklink
          ?創(chuàng)建符號鏈接。
          ?
          ?MKLINK [[/D] | [/H] | [/J]] Link Target
          ?
          ? ? ? ? /D ? ? 創(chuàng)建目錄符號鏈接。默認為文件
          ? ? ? ? ? ? ? ? 符號鏈接。
          ? ? ? ? /H ? ? 創(chuàng)建硬鏈接而非符號鏈接。
          ? ? ? ? /J ? ? 創(chuàng)建目錄聯(lián)接。
          ? ? ? ? Link ? 指定新的符號鏈接名稱。
          ? ? ? ? Target 指定新鏈接引用的路徑
          ? ? ? ? ? ? ? ? (相對或絕對)。
          ? >mklink /D packages "D:\Program Files\Nuget\Package"
          ?為 packages <<===>> D:\Program Files\Nuget\Package 創(chuàng)建的符號鏈接

          輸出如上結(jié)果,表示目錄鏈接創(chuàng)建成功,同時 .nuget 目錄下生成如下文件,類型為文件類型,實際指向?qū)?yīng)的 D:\Program Files\Nuget\Package 文件目錄,有別于快捷方式鏈接。

          從兩種方式來看,第二種,創(chuàng)建目錄鏈接的方式,改動成本更小,出錯率更低一些,所以筆者推薦以第二種方式進行 Nuget 本地臨時緩存目錄的調(diào)整操作。以上就是筆者整理的相關(guān)技巧。


          往期推薦


          點擊閱讀原文,更精彩~
          瀏覽 102
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  色婷婷国产在线观看 | 国产九色91 回来了 | 国产成人视频一区二区 | 俺也去新网 | 操逼操逼操逼操逼操逼 |