在 Visual Studio for Mac 中安裝和管理 NuGet 套件

重要

根據 Microsoft 的新式生命週期原則,Visual Studio for Mac 計畫於 2024 年 8 月 31 日停用。 雖然您可以繼續使用 Visual Studio for Mac,但 Mac 上的開發人員還有幾個其他選項,例如用於 VS Code 的新 C # 開發套件延伸模組之預覽版本。

深入了解支援時間表和備選方案

Visual Studio for Mac 中的 NuGet 套件管理員 UI 可讓您在專案和解決方案中,輕鬆地安裝、解除安裝和更新 NuGet 套件。 您可以搜尋套件,並將其新增至 .NET Core、ASP.NET Core 和 Xamarin 專案。

本文描述如何在專案中包含 NuGet 套件,並示範讓處理序順暢處理的工具鏈。

如需在 Visual Studio for Mac 中使用 NuGet 的簡介,請參閱快速入門:在 Visual Studio for Mac 中安裝並使用套件

尋找並安裝套件

  1. 在 Visual Studio for Mac 中開啟專案時,以滑鼠右鍵按一下 [解決方案] 視窗中的 [相依性] 資料夾 [套件] 資料夾 (如果使用 Xamarin 專案),然後選取 [管理 NuGet 套件...]

    This screenshot is of Add new NuGet package context action.

  2. [管理 NuGet 套件] 對話方塊隨即出現。 請確定對話方塊左下角的 [套件來源] 下拉式清單設定為 nuget.org,以便您搜尋中央 NuGet 套件存放庫。

    This screenshot is of Manage NuGet Packages dialog - List NuGet Packages. The Package source option is set to nuget.org.

  3. 使用右上角的 [搜尋] 方塊來尋找特定套件,例如 EntityFramework。 當您發現想要使用的套件時,請選取該套件,然後選取 [新增套件] 按鈕開始安裝。

    This screenshot is of add EntityFramework NuGet Package.

  4. 套件在下載之後就會新增至您的專案。 解決方案會依據您正在編輯的專案類型而變更:

    Xamarin 專案

    • [參考] 節點將包含屬於 NuGet 套件一部分的所有組件清單。
    • [套件] 節點會顯示您已下載的每個 NuGet 套件。 您可以更新或移除此清單中的套件。

    .NET Core 專案

    • [相依性 NuGet] 節點會顯示您已下載的每個 NuGet 套件。 您可以更新或移除此清單中的套件。

使用 NuGet 套件

新增 NuGet 套件並更新專案參考之後,即可針對 API 進行程式設計,如同任何專案參考。

確定您將任何必要 using 指示詞新增至檔案頂端:

using Newtonsoft.Json;

更新套件

以滑鼠右鍵按一下 [相依性] 節點 (Xamarin 專案為 [套件] 節點),或分別以滑鼠右鍵按一下每個套件,即可一次完成所有套件更新。 當有新版本的 NuGet 套件可供使用時,會顯示更新圖示 This is the update icon for updating a new version of NUGet package - Up arrow with circle.

以滑鼠右鍵按一下 [相依性] 以存取操作功能表,然後選擇 [更新] 以更新所有套件:

This screenshot shows the Dependencies context menu with the Update menu highlighted.

  • 管理 NuGet 套件 - 開啟視窗以將更多套件新增至專案。
  • 更新 - 檢查每個套件的來源伺服器,然後下載任何較新版本。
  • 還原 - 下載任何遺漏的套件 (不會將現有套件更新為較新版本)。

方案層級也會提供 [更新] 和 [還原] 選項,而且這些選項會影響方案中的所有專案。

更新至套件的發行前版本

若要更新至較新的套件發行前版本,您可以滑鼠右鍵按一下 [相依性] 以開啟操作功能表,然後選擇 [管理 NuGet 套件...] 功能表。

This screenshot shows Dependencies context menu with Manage NuGet Packages... menu highlighted.

核取對話方塊底部的 [包含發行前版本] 核取方塊。

This screenshot shows Manage NuGet Packages dialog opened with the 'Include prereleases option checked.

最後,從對話方塊的 [更新] 索引標籤中,選取您想要更新的套件,然後從 [新版本] 下拉式清單中選擇新的發行前版本,然後選取 [更新套件]

This screenshot shows Manage NuGet Packages dialog opened to the Installed tab, with a package selected and the New Version dropdown list open.

尋找過期的套件

您可以從 [方案] 視窗中檢視目前安裝的套件版本。 以滑鼠右鍵按一下要更新的套件。

This screenshot shows Packages menu with the options to Update, Remove, Refresh.

當有新版本的套件可用時,您也會在套件名稱旁看到通知。 您可以決定是否要加以更新。

This screenshot is of Notification shown when a new package version is available.

在顯示的功能表中,您有兩個選項:

  • 更新 - 檢查來源伺服器,然後下載較新版本 (如果已存在)。
  • 移除 - 從這個專案中移除套件,並從專案的參考中移除相關組件。

管理解決方案的套件

管理解決方案的套件可讓同時處理多個專案更方便。

  1. 以滑鼠右鍵按一下解決方案,然後選取 [管理 NuGet 套件...]

    This screenshot shows Manage NuGet packages for the solution.

  2. 在管理解決方案的套件時,UI 可讓您選取受作業影響的專案:

    This screenshot shows Project selector when managing packages for the solution.

[合併] 索引標籤

當您在解決方案中使用多個專案時,請確定您在每個專案中的任何位置都是使用相同 NuGet 套件,您也會使用該套件的相同版本號碼。 當您選擇管理解決方案的套件時,Visual Studio for Mac 可透過在套件管理員 UI 中提供 [合併] 索引標籤來協助簡化。 使用 [合併] 索引標籤,您可以輕鬆地查看解決方案中不同專案所使用不同版本號碼的套件位置:

This screenshot shows the Package Manager UI Consolidate tab.

在此範例中,NuGetDemo 專案使用 Microsoft.EntityFrameworkCore 3.1.23,而 NuGetDemo.Shared 則使用 Microsoft.EntityFrameworkCore 5.0.2。 若要合併套件版本,請遵循下列步驟:

  1. 在 [專案] 清單中選取要更新的專案。
  2. 選取 [新版本] 清單中所有這些專案要使用的版本,例如 Microsoft.EntityFrameworkCore 6.0.3。
  3. 選取 [合併套件] 按鈕。

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

新增套件來源

一開始會從 nuget.org 擷取可用於安裝的套件。不過,您可以將其他套件位置新增至 Visual Studio for Mac。 這適用於測試您自己正在開發的 NuGet 套件,或在公司或組織內使用私用 NuGet 伺服器。

在 Visual Studio for Mac 中,巡覽至 [Visual Studio] > [喜好設定] > [NuGet] > [來源] 來檢視和編輯套件來源清單。 [來源] 可以是遠端伺服器 (由 URL 指定) 或本機目錄。

This screenshot shows Package Sources to add other package locations to Visual Studio for Mac.

選取 [新增] 以設定新來源。 輸入套件來源的易記 [名稱] 和 [位置] (URL 或檔案路徑)。 如果來源是安全網頁伺服器,也請輸入 [使用者名稱] 和 [密碼],否則請將這些項目留白:

This screenshot shows Add Package Source dialog with a prompt for Name, location URL, user name, and password.

搜尋套件時,可以選取不同的來源:

This screenshot shows Add Package Source dialog showing a drop down with a list of package sources.

版本控制

NuGet 文件討論 using NuGet without committing packages to source control (在未將套件認可到原始檔控制的情況下使用 NuGet)。 如果您不想要將二進位檔和未使用的資訊儲存至原始檔控制,則可以設定 Visual Studio for Mac 自動從伺服器還原套件。 開發人員第一次從原始檔控制擷取專案時,Visual Studio for Mac 將會自動下載並安裝必要的套件。

This screenshot shows the Preferences screen to automatically restore packages when opening a solution.

如需如何排除 packages 目錄不進行追蹤的詳細資料,請參閱特定原始檔控制文件。

另請參閱