在 Visual Studio 中,使用 NuGet 套件管理員來安裝和管理套件

Microsoft Visual Studio for Windows 中的 NuGet 封裝管理員 UI 可讓您輕鬆地在專案和方案中安裝、卸載及更新 NuGet 套件。

本文僅適用於 Windows 使用者。 如果您使用 Visual Studio for Mac,請參閱 在專案中包含 NuGet 套件。

必要條件

  • 使用任何 安裝Visual Studio 2022 for Windows。與 NET 相關的工作負載。

    您可以從 visualstudio.microsoft.com 免費安裝 2022 Community 版本,或使用 Professional 或 Enterprise 版本。

    當 時,Visual Studio 2017 和更新版本會自動包含 NuGet 封裝管理員。已安裝 NET 相關工作負載。 若要在 Visual Studio 安裝程式 中個別安裝,請選取 [個別元件] 索引標籤,然後在 [程序代碼工具] 底下選取 [NuGet 套件管理員]。

    針對 Visual Studio 2015,如果您遺漏 NuGet 封裝管理員,請檢查 [工具>延伸模組] 和 [更新],然後搜尋 NuGet 封裝管理員 擴充功能。 如果您無法在 Visual Studio 中使用擴充功能安裝程式,請直接從 https://dist.nuget.org/index.html \(英文\) 下載擴充功能。

  • 如果您還沒有帳戶,請在 nuget.org 上註冊一個免費帳戶 \(英文\)。 您必須先註冊並確認帳戶,才能上傳 NuGet 套件。

尋找並安裝套件

若要使用 Visual Studio 尋找並安裝 NuGet 套件,請遵循下列步驟:

  1. 在 方案總管 中載入專案,然後選取 [專案>管理 NuGet 套件]。

    [NuGet 封裝管理員] 視窗隨即開啟。

  2. 從目前選取的來源選取 [ 瀏覽 ] 索引標籤以顯示套件(請參閱 套件來源)。 若要搜尋特定套件,請使用左上方的搜尋方塊。 從清單中選取套件,以在右窗格上顯示其資訊,讓您選取要安裝的版本。

    Screenshot showing the NuGet Package Manager window with the Browse tab selected.

  3. 在右窗格中,從下拉式清單中選取 [ 版本 ]。 如果您想要在 [ 版本 ] 清單中包含發行前版本,請選取 [ 包含發行前版本]。

  4. 若要安裝 NuGet 套件,請選取 [ 安裝]。 系統可能會要求您接受授權條款,或提示您確認安裝。

    Visual Studio 會在專案中安裝套件及其相依性。 安裝完成時,新增的套件會出現在 [已安裝] 索引標籤上。您也可以在專案 方案總管 的 [相依性>套件] 節點中找到套件。 安裝套件之後,您可以使用 語句在項目中 using 參考它。

  5. (選擇性)NuGet 有兩種格式,專案可以使用套件:PackageReferencepackages.config。若要設定預設格式,請選取 [工具>選項],展開 [NuGet 封裝管理員],選取 [一般],然後選擇 [預設套件管理格式]。 如需詳細資訊,請參閱 選擇預設套件管理格式

解除安裝套件

若要卸載 NuGet 套件,請遵循下列步驟:

  1. 在 方案總管 中載入專案、選取 [專案>管理 NuGet 套件],然後選取 [已安裝] 索引卷標。

  2. 選取要在左窗格中卸載的套件(如有必要,請使用 [搜尋 ] 方塊來尋找它,然後從右窗格中選取 [ 卸載 ]。

    Screenshot showing the NuGet Package Manager with a package selected and its Uninstall button highlighted.

更新套件

若要更新 NuGet 套件,請遵循下列步驟:

  1. 在 方案總管 中載入專案,然後選取 [專案>管理 NuGet 套件]。 針對網站專案,請先選取 Bin 資料夾。

  2. 選取 [更新] 索引標籤,以查看具有所選套件來源中可用更新的套件。 選取 [包含發行前版本],以在更新清單中包含發行前版本套件。

  3. 選取要更新的套件。 在右窗格中,從下拉式清單中選取所需的 [版本 ],然後選取 [ 更新]。

    Screenshot showing the NuGet Package Manager with a package selected and its Update button highlighted.

  4. 針對某些套件,[ 更新 ] 按鈕會停用,而且會出現下列訊息: SDK 隱含參考。若要更新套件,請更新其所屬的 SDK。 此訊息表示套件是較大架構或 SDK 的一部分,且無法獨立更新。 這類套件會在內部標示為 <IsImplicitlyDefined>True</IsImplicitlyDefined>。 例如, Microsoft.NETCore.App 是 .NET Core SDK 的一部分,套件版本與應用程式所使用的運行時間架構版本不同。 若要下載新版本的 .NET Core, 請更新您的 .NET Core 安裝。 如需詳細資訊,請參閱 .NET Core 中繼套件和版本控制。 此案例適用於下列常用的套件:

    • Microsoft.AspNetCore.All
    • Microsoft.AspNetCore.App
    • Microsoft.NETCore.App
    • NETStandard.Library

    Screenshot showing a NuGet package with the Update button disabled.

  5. 若要將多個套件更新為其最新版本,請在 [NuGet 套件] 清單中選擇它們,然後選取 [ 更新]。

  6. 您也可以從 [ 已安裝 ] 索引標籤更新個別套件。在此情況下,您也可以選取 [ 版本 ] 和 [ 包含發行前版本 ] 選項。

管理解決方案的套件

管理解決方案的套件是同時處理多個專案的便利方式:

  1. 在 [方案管理員] 中選取解決方案,然後選取 [工具>][NuGet 封裝管理員> 管理方案的 NuGet 套件]。

  2. 在 [ 管理方案的 NuGet 套件] 視窗中,選取受作業影響的專案。

    Screenshot showing the Manage Packages for Solution window with multiple projects selected.

[合併] 索引標籤

開發人員通常會認為在相同的解決方案中,跨不同專案使用同一個 NuGet 套件的不同版本是不好的做法。 Visual Studio 可讓您針對 NuGet 套件使用通用版本。 若要這樣做,請使用 [NuGet 封裝管理員] 視窗的 [合併] 索引標籤來探索解決方案中不同專案使用不同版本號碼的套件的位置。

Screenshot showing the Manage Packages for Solution window with the Consolidate tab selected.

在此範例中,ClassLibrary1 專案使用 EntityFramework 6.2.0,而 ConsoleApp1 使用 EntityFramework 6.1.0。 若要合併套件版本,請遵循下列步驟:

  1. 從 [ 合併] 索引標籤中,選取專案清單中要更新的專案。

  2. 選取 [版本] 列表中所有這些專案要使用的版本。

  3. 選取安裝

    NuGet 封裝管理員 會將選取的套件版本安裝到所有選取的專案,之後套件就不會再出現在 [合併] 索引卷標上

套件來源

Visual Studio 會忽略套件來源的順序,並使用來自哪個來源的套件是第一個回應要求的來源。 如需詳細資訊,請參閱 還原套件。 如需如何從特定來源載入套件的資訊,請參閱 封裝來源對應

若要管理 NuGet 套件來源,請遵循下列步驟:

  1. 若要變更 Visual Studio 載入套件元數據的來源,請從 套件來源 選取器中選取來源。

    Screenshot showing the Package source selector highlighted.

  2. 若要管理套件來源,請選取 設定 圖示,或選取 [工具>選項]。

    Screenshot showing the Package source settings icon highlighted.

  3. 在 [選項] 視窗中,展開 [NuGet 封裝管理員] 節點,然後選取 [套件來源]。

    Screenshot showing the Options window with Package Sources selected.

  4. 若要新增來源,請選取 +、編輯 [名稱]、在 [來源] 中輸入 URL 或路徑,然後選取 [更新]。

    來源現在會出現在 [套件來源 ] 下拉式清單中。

  5. 若要變更套件來源,請選取套件、在 [名稱] 和 [來源] 方塊中編輯,然後選取 [更新]

  6. 若要停用套件來源,請取消選取清單中名稱左邊的方塊。

  7. 若要移除套件來源,請選取它,然後選取 [X ] 按鈕。

    如果套件來源在您刪除之後重新出現,它可能會列在計算機層級或用戶層級 NuGet.config 檔案中。 如需這些檔案的位置,請參閱 常見的 NuGet 組態。 手動或使用 nuget sources 命令編輯套件來源,以移除檔案中的套件來源。

NuGet 封裝管理員 選項控件

當您選取套件時,NuGet 封裝管理員 會在 [版本選取器] 下方顯示可展開的 [選項] 控制件。 針對大部分的項目類型,只會提供 [ 顯示預覽視窗] 選項。

Screenshot showing the NuGet Package manager Options control expanded.

下列各節說明可用的選項。

安裝和更新選項

這些選項僅適用於特定項目類型:

  • 相依性行為:此選項會設定 NuGet 如何決定要安裝的相依套件版本。 它有下列設定:

    • 忽略相依性會略過相依性的 安裝,這通常會中斷所安裝的套件。
    • [最低] [預設] 會使用符合主要所選套件需求的最小版本號碼來安裝相依性。
    • [最高修補程式] 會使用相同的主要和次要版本號碼 (但有最高的修補程式號碼) 來安裝版本。 例如,如果指定 1.2.2 版則會安裝開頭為 1.2 的最高版本
    • [最高次要] 會使用相同的主要版本號碼,但最高的次要號碼和修補程式號碼來安裝版本。 如果指定 1.2.2 版,則會安裝開頭為 1 的最高版本
    • [最高] 會安裝套件的最高可用版本。
  • 檔案衝突動作:此選項會指定 NuGet 如何處理專案或本機計算機中已存在的套件。 它有下列設定:

    • [提示] 會指示 NuGet 詢問要保留或覆寫現有套件。
    • [全部忽略] 會指示 NuGet 略過覆寫任何現有套件。
    • [全部覆寫] 會指示 NuGet 覆寫任何現有套件。

卸載選項

這些選項僅適用於特定項目類型:

  • 拿掉相依性:選取時,如果未在專案中其他地方參考相依套件,則會移除任何相依套件。

  • 即使有相依性,仍強制卸載:選取時,即使套件仍在項目中參考,仍會卸載套件。 此選項通常會與 移除相依性搭配使用,以移除套件及其安裝的任何相依 性。 不過,使用這個選項可能會導致專案中的參考無法運作。 在這種情況下,您可能需要 重新安裝這些其他套件

另請參閱

如需 NuGet 的詳細資訊,請參閱下列文章: