NuGet管理全域性包 快取和臨時資料夾

2022-02-28 14:28:56 字數 3541 閱讀 9176

每當安裝、更新或還原包時,nuget 將管理專案結構多個資料夾之外的包和包資訊:

name

說明和位置(每個使用者)

使用 nuget_http_cache_path 環境變數替代。

temp

nuget 在各操作期間在其中儲存臨時檔案的資料夾。

plugins-cache4.8 +

nuget 儲存來自操作宣告請求的結果的資料夾。

mac/linux:~/.local/share/nuget/plugins-cache

使用 nuget_plugins_cache_path 環境變數替代。

備註當要求檢索包時,nuget 會首先檢視 global-packages 資料夾。 如果不存在包的確切版本,nuget 將檢查所有非 http 包源。 如果仍未找到包,nuget 將查詢 http-cache 中的包,除非使用 dotnet.exe 命令指定 --no-cache,或使用 nuget.exe 命令指定 -nocache。如果包不在快取中,或未使用快取,那麼 nuget 將通過 http 檢索包。

有關詳細資訊,請參閱安裝包時會發生什麼情況?

可以使用 nuget locals 命令檢視位置:

cli複製

典型輸出(windows;「user1」為當前使用者名稱):

output複製

global-packages: c:\users\user1\.nuget\packages\

package-cache在 nuget 2.x 中使用,並在 nuget 3.5 及更早版本中顯示。)

還可以使用 dotnet nuget locals 命令檢視資料夾位置:

.net core cli複製

dotnet nuget locals all --list
典型輸出(mac/linux;「user1」為當前使用者名稱):

output複製

若要顯示單個資料夾的位置,請使用http-cacheglobal-packagestempplugins-cache,而不是all

開啟nuget.config 或c:\program files (x86)\nuget\config下的config檔案,加上以下內容:

如果安裝包時遇到問題或想要確保從遠端庫安裝包,請使用locals --clear選項 (dotnet.exe) 或locals -clear(nuget.exe),指定要清除的資料夾,或使用all清除所有資料夾:

cli複製

目前在 visual studio 中開啟的專案所使用的任何包都不會從 global-packages 資料夾中清除。

從 visual studio 2017 開始,使用「工具」>「nuget 包管理器」>「包管理器設定」選單命令,然後選擇「清除所有 nuget 快取」 。 管理快取目前不支援通過包管理器控制台提供。 在 visual studio 2015 中,則改用 cli 命令。

使用 nuget locals 或 dotnet nuget locals 時可能出現以下錯誤:

錯誤:程序無法訪問檔案 ,因為另乙個程序正在使用該檔案 或清除本地資源失敗:無法刪除乙個或多個檔案

另乙個程序正在使用資料夾中的乙個或多個檔案;例如,visual studio 專案處於開啟狀態,它指的是 global-packages 資料夾中的包。 關閉這些程序,然後重試。

錯誤:訪問路徑 被拒絕或目錄不為空

錯誤:指定的路徑和/或檔名太長。完全限定檔名必須少於 260 個字元,而目錄名必須少於 248 個字元。

縮短資料夾名稱,然後重試。

NuGet管理dll包 與NuGet的邂逅

最近一直在火熱開發中的高校平台專案,進行到現在底層類庫已經更新到版本v1.0.1.7了,與以往軟體開發不同的是這次不再需要每個開發小組一次次的去拷貝dll檔案了,要做的只是在自己的執行環境下直接更新一下安裝的類庫包就ok啦。上篇文章中已經提到過我參與的專案是基礎系統,在迭代一中開發完了基本功能,接下...

Nuget 使用Nuget管理工具包

這裡演示如何使用nuget對類庫進行打包,並將類庫上傳到nuget上面。1 在nuget官網註冊賬號,並登陸。這樣你可以不用來回的copy nuget.exe檔案了,在任何地方都可以使用nuget命令。4 發布前需要對包的一些屬性進行設定,當然你可以通過vs自帶的功能進行設定 可以勾選生成nuget...

使用BaGet來管理內部Nuget包

有的時候,我們想要製作一些nuget包,供自己內部呼叫,不想公開出去,那麼就需要乙個能夠集中管理nuget包的服務了,今天我來給大家介紹一款輕便好用的包管理服務 baget 2 在這個資料夾裡面空白處,按住shift鍵,滑鼠右鍵,然後選擇開啟powershell,如下圖 4 在瀏覽器裡面訪問 htt...