套件使用工作流程

在 nuget.org 與您組織可建立的私人套件庫之間,您可以找到數以萬計的高可用套件,以在您的應用程式和服務中使用。 但是不論來源為何,使用套件會遵循相同的一般工作流程。

Flow of going to a package source, finding a package, installing it in a project, then adding a using statement and calls to the package API

* Visual Studio和 dotnet.exe 僅限 。nuget install命令不會修改專案檔或 packages.config 檔案;必須手動管理專案。

如需詳細資料,請參閱尋找及選擇套件安裝套件後會發生什麼事

NuGet 會記住每個已安裝套件的身分識別和版本號碼,並將其記錄在專案檔 (使用 PackageReference) 或 packages.config 中,端視專案類型和 NuGet 版本而定。 使用 NuGet 4.0+ 時,儘管可在 Visual Studio 中透過套件管理員 UI 來設定,但最好是使用 PackageReference。 在任何情況下,您隨時都可以查看適當的檔案,以查看您專案的完整相依性清單。

提示

最好一律檢查您要在軟體中使用之每個套件的授權。 在 nuget.org 上,您可以在每個套件的描述頁面右側找到 [授權資訊] 連結。 如果套件未指定授權條款,請使用套件頁面上的 [連絡擁有者] 連結直接連絡套件擁有者。 Microsoft 不會將任何智慧財產權從協力廠商套件提供者授權給您,而且不負責協力廠商所提供的資訊。

安裝套件時,NuGet 通常會檢查是否已經可以從其快取中使用套件。 您可以從命令列手動清除此快取,如管理全域套件和快取資料夾中所述。

NuGet 也會確保套件所支援的目標架構與您的專案相容。 如果套件未包含相容的組件,則 NuGet 會顯示錯誤。 請參閱解決不相容的套件錯誤

將專案程式碼新增至來源存放庫時,您通常不會包含 NuGet 套件。 如果人員稍後複製存放庫或取得專案,其中包含 Visual Studio Team Services 這類系統上組建代理程式,則必須先還原必要套件,再執行組建置:

Flow of restoring NuGet packages by cloning a repository and using either a restore command

套件還原使用專案檔或 packages.config 中的資訊來重新安裝所有相依性。 請注意,所含的程序會有些差異,如相依性解析中所述。 此外,上圖並沒有顯示套件管理員主控台的還原命令,原因是如果您在使用主控台,就代表您已經在使用 Visual Studio,它通常會自動還原套件並提供如同圖示的解決方案層級命令。

偶爾需要重新安裝已包含在專案中的套件,這也可能會重新安裝相依性。 使用 nuget reinstall 命令或 NuGet 套件管理員主控台,就可以輕鬆做到這項作業。 如需詳細資料,請參閱重新安裝和更新套件

最後,NuGet 的行為是透過 NuGet.Config 檔案所驅動。 可以使用多個檔案來集中管理不同層級的特定設定,如設定 NuGet 行為所述。

安裝 NuGet 套件的方式

NuGet 套件會使用下表任一方法下載並安裝。

工具 平台 描述
dotnet CLI 全部 適用於 .NET Core 與 .NET Standard 程式庫,以及以 .NET Framework 為目標之 SDK 樣式專案的 CLI 工具 (請參閱 SDK 屬性)。 擷取依 <套件名稱> 識別的套件,並新增參考至專案檔。 此外,也會擷取並安裝相依性。
Visual Studio Windows 和 Mac 提供 UI,可讓您從指定的套件來源流覽、選取和安裝套件及其相依性至專案。 將對於已安裝套件的參考新增至專案檔。
套件管理員主控台 (Visual Studio) 僅限 Windows 從選取的來源擷取並安裝package_name > 識別 < 的套件到方案中的指定專案,然後將參考新增至專案檔。 此外,也會擷取並安裝相依性。
nuget.exe CLI 全部 適用於 .NET Framework 程式庫與以 .NET Standard 程式庫為目標之非 SDK 樣式專案的 CLI 工具。 擷取依 <套件名稱> 識別的套件,並在目前目錄的資料夾中展開其內容;也可以擷取 packages.config 檔案中列出的所有套件。 另外也會擷取並安裝相依性,但不會對專案檔或 packages.config 進行任何變更。