在組織可能建立的 nuget.org 和私人套件資源庫之間,您可以找到數以萬計的非常有用的套件,以用於您的應用程式和服務。 但無論來源為何,使用套件都會遵循相同的一般工作流程。
前往套件來源、尋找並安裝套件至專案,然後新增 using 陳述式,並呼叫套件的 API流程。
*
僅限 Visual Studio 和 dotnet.exe。此 nuget install 命令不會修改專案檔案或 packages.config 檔案;項目必須手動管理。
如需更多詳細資訊,請參閱 尋找和選擇套件 和 安裝套件時會發生什麼事?。
NuGet 會記住每個已安裝套件的身分識別和版本號碼,並將其記錄在專案檔案中 (使用 PackageReference) 或 packages.config,視專案類型和您的 NuGet 版本而定。 在 NuGet 4.0+ 中,PackageReference 是慣用的,不過這是可透過 套件管理員 UI 在 Visual Studio 中設定的。 在任何情況下,您都可以隨時查看適當的文件,以查看項目的完整依賴項列表。
小提示
謹慎的做法是始終檢查您打算在軟體中使用的每個套件的授權。 在 nuget.org 上,您會在每個套件描述頁面的右側找到「 授權資訊」 連結。 如果套件未指定授權條款,請使用套件頁面上的 [連絡擁有者 ] 連結直接聯絡套件擁有者。 Microsoft 不會從第三方套件提供者授權給您的任何智慧財產權,也不對第三方提供的資訊負責。
安裝套件時,NuGet 通常會檢查套件是否已從其快取取得。 您可以從指令行手動清除此快取,如 管理廣域套件和快取資料夾中所述。
NuGet 也會確定套件支援的目標架構與您的專案相容。 如果套件不包含相容的元件,NuGet 會顯示錯誤。 請參閱 解決不相容的套件錯誤。
將專案程式碼新增至來源存放庫時,您通常不會包含 NuGet 套件。 日後要複製儲存庫或以其他方式取得專案的人員,包括在 Visual Studio Team Services 等系統上的建置代理,都必須在執行建置之前先還原必要的套件:
套件還原 會使用專案檔中的資訊,或 packages.config 重新安裝所有相依性。 請注意,所涉及的程序存在差異,如 相依性解析中所述。 此外,上圖不會顯示套件管理員主控台的還原命令,因為如果您使用主控台,您已經處於 Visual Studio 的內容中,這通常會自動還原套件,並提供解決方案層級命令,如圖所示。
有時需要重新安裝專案中已包含的套件,這也可能重新安裝依賴項。 這可以使用 nuget reinstall 命令或 NuGet 套件管理員主控台輕鬆完成。 如需詳細資訊,請參閱 重新安裝和更新套件。
最後,NuGet 的行為是由 NuGet.Config 檔案驅動。 多個檔案可用來集中不同層級的特定設定,如 設定 NuGet 行為中所述。
安裝 NuGet 套件的方法
NuGet 套件會使用下表中的任何方法下載和安裝。
| Tool | Platforms | Description |
|---|---|---|
| dotnet CLI | 全部 | 適用於 .NET Core 和 .NET Standard 程式庫的 CLI 工具,以及以 .NET Framework 為目標的 SDK 樣式專案 (請參閱 SDK 屬性)。 擷取package_name<所>識別的套件,並新增專案檔的參考。 也會擷取並安裝相依性。 |
| Visual Studio | Windows 和 Mac | 提供使用者介面,您可以透過這個介面瀏覽、選取套件及其相依性,並從指定的套件來源安裝到專案中。 將已安裝套件的參考新增至專案檔。 |
| 套件管理員主控台 (Visual Studio) | 僅限 Windows | 從選取的來源取得由 package_name< 所>識別的套件,將其安裝到解決方案中的指定專案,然後在專案檔案中新增該套件的參考。 也會擷取並安裝相依性。 |
| nuget.exe CLI | 全部 | 適用於 .NET Framework 程式庫和以 .NET Standard 程式庫為目標的非 SDK 樣式專案的 CLI 工具。 擷取由 package_name 標識的套件,並將其內容展開到目前目錄中的資料夾中;也可以擷取所有在檔案中列出的套件。 也會擷取並安裝相依性,但不會變更專案檔案或 packages.config。 |