2025年12月5日 星期五

[研究]nuget.exe安裝與版本

[研究]nuget.exe安裝與版本

2025-12-05

Visual Studio 2019, 2022, 2026 會安裝 nuget.exe 嗎 ? 甚麼目錄 ?

ChatGPT

✅ 結論:Visual Studio 不會安裝 nuget.exe

從 Visual Studio 2015 之後,Microsoft 官方已經不再內建或安裝 nuget.exe。

👉 VS2019:不會安裝

👉 VS2022:不會安裝

👉 VS2026:不會安裝(延續同樣政策)

你在任何 Visual Studio 版本的安裝目錄都找不到 nuget.exe。


❓那 Visual Studio 使用的 NuGet 是什麼?

Visual Studio 現在使用:

✔ NuGet Client SDK(內建於 Visual Studio)

不是一個檔案,而是一組 DLL,例如:

  • NuGet.PackageManagement.dll
  • NuGet.VisualStudio.Common.dll
  • NuGet.SolutionRestoreManager.dll

這些 DLL 放在 Visual Studio 的安裝目錄:

VS2019

C:\Program Files (x86)\Microsoft Visual Studio\2019\<Edition>\Common7\IDE\CommonExtensions\Microsoft\NuGet\

註:敝人實際測試 Visual Studio 2019 Enterprise,符合

C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\Common7\IDE\CommonExtensions\Microsoft\NuGet

**********

VS2022(64 位元)

C:\Program Files\Microsoft Visual Studio\2022\<Edition>\Common7\IDE\CommonExtensions\Microsoft\NuGet\

註:敝人實際測試 Visual Studio 2022 Enterprise,符合

C:\Program Files\Microsoft Visual Studio\2022\Enterprise\Common7\IDE\CommonExtensions\Microsoft\NuGet

**********

VS2026(預期路徑,延續 VS2022 結構)

C:\Program Files\Microsoft Visual Studio\2026\<Edition>\Common7\IDE\CommonExtensions\Microsoft\NuGet\

註:敝人實際測試 Visual Studio 2026 Enterprise,不符合,不是2026,而是18

C:\Program Files\Microsoft Visual Studio\18\Enterprise\Common7\IDE\CommonExtensions\Microsoft\NuGet

⚠ 這些不是 nuget.exe,不可單獨使用 CLI。

敝人實際測試

❓那 nuget.exe 要從哪裡來?

唯一方式:✔ 手動下載(官方唯一途徑)

https://dist.nuget.org/win-x86-commandline/latest/nuget.exe   

你必須自己放到其中一個位置,例如:C:\Tools\NuGet\,或你的專案資料夾,或 PATH 中的任何位置。

敝人實際測試:

C:\Tools\NuGet>nuget.exe
NuGet 版本: 7.0.1.1
使用方式: NuGet <command> [args] [options]
輸入 'NuGet help <command>' 以取得特定命令的說明。
可用的命令:
 add               將指定的封裝新增至階層式來源。不支援 HTTP 來源。如需詳細資訊,請前往 https://docs.nuget.org/consume/command-line-reference#add-command。
 client-certs      讓您能夠管理位於 NuGet.config 檔案中的用戶端憑證清單
 config            取得或設定 NuGet 設定值。
 delete            從伺服器刪除套件。
 eula              顯示 NuGet.exe 的終端使用者授權合約 (EULA)
 help (?)          顯示一般說明資訊和其他命令的說明資訊。
 init              將所有封裝從 <srcPackageSourcePath> 新增到階層式 <destPackageSourcePath>。不支援 HTTP 摘要。如需詳細資訊,請前往 https://docs.nuget.org/consume/command-line-reference#init-command。
 install           使用指定的來源安裝封裝。如果未指定來源,則會使用 NuGet 設定檔中定義的所有來源。如果設定檔未指定來源,則使用預設的 NuGet 摘要。
 list              顯示來自指定來源的封裝清單。如果未指定來源,則會使用 %AppData%\NuGet\NuGet.config 中定義的所有來源。如果 NuGet.config 沒有指定來源,則使用預設的 NuGet 摘要。
 locals            清除或列出本機 NuGet 資源,例如 http 要求快取、暫存快取或整部機器的全域封裝資料夾。
 pack              根據指定的 nuspec 或專案檔,建立 NuGet 封裝。
 push              將套件推送至伺服器,並發佈該套件。
                   NuGet 的預設設定的取得方式: 透過載入 %AppData%\NuGet\NuGet.config,然後從磁碟機的根目錄開始載入任何 nuget.config 或 .nuget\nuget.config,然後在目前的目錄結束。
 restore           還原 NuGet 封裝。
 search            使用提供的查詢字串搜尋指定來源。如果未指定任何來源,則使用 %AppData%\NuGet\NuGet.config 中定義的所有來源。
 setApiKey         儲存指定伺服器 URL 的 API 金鑰。未提供 URL 時,會儲存 NuGet 資源庫的 API 金鑰。
 sign              使用指定的憑證簽署 NuGet 封裝。
 sources           讓您能夠管理位於 NuGet.config 檔案中來源的清單。
 spec              產生新封裝的 nuspec。如果此命令與專案檔 (.csproj、.vbproj、.fsproj) 在同一個資料夾中執行,則會建立權杖化 nuspec 檔案。
 trusted-signers   提供管理信任簽署者清單的能力。
 update            將封裝更新為最新的可用版本。此命令也會更新 NuGet.exe 本身。
 verify            驗證已簽署的 NuGet 套件。
如需詳細資訊,請瀏覽 https://docs.nuget.org/docs/reference/command-line-reference
C:\Tools\NuGet>

https://docs.nuget.org/docs/reference/command-line-reference

會導向到

NuGet CLI 參考
https://learn.microsoft.com/zh-tw/nuget/reference/nuget-exe-cli-reference?tabs=windows

********************************************************************************

NuGet官方網站

https://www.nuget.org/downloads/


其中Windows x86 Commandline

nuget.exe - recommended latest v7.0.1
https://dist.nuget.org/win-x86-commandline/latest/nuget.exe

其中Visual Studio 2017 and above 的下載會跳到

https://visualstudio.microsoft.com/zh-hant/downloads/



(完)

沒有留言:

張貼留言