從已驗證的摘要取用套件

除了 nuget.org 公用摘要之外,NuGet 用戶端還能夠與檔案摘要和私人 HTTP 摘要互動。

若要使用私人 HTTP 摘要進行驗證,2 種方法包括:

  • NuGet.config中新增認證
  • 視使用的用戶端而定,使用其中一個擴充性模型進行驗證。

NuGet 用戶端的驗證擴充性

對於各種 NuGet 用戶端,私人摘要提供者本身會負責驗證。 所有 NuGet 用戶端都有擴充性方法來支援此功能。 這些是 Visual Studio 延伸模組或外掛程式,可與 NuGet 通訊以擷取認證。

Visual Studio

在 Visual Studio 中,NuGet 會公開摘要提供者可以實作和提供給其客戶的介面。 如需詳細資訊,請參閱 有關如何建立 Visual Studio 認證提供者的檔。

Visual Studio 的可用 NuGet 認證提供者

Visual Studio 內建認證提供者可支援 Azure DevOps。

可用的外掛程式認證提供者包括:

nuget.exe

nuget.exe 需要認證以摘要進行驗證時,它會以下列方式尋找它們:

  1. 在檔案中 NuGet.config 尋找認證。
  2. 使用 V2 外掛程式認證提供者
  3. 使用 V1 外掛程式認證提供者
  4. NuGet 接著會在命令列提示使用者輸入認證。

nuget.exe 和 V2 認證提供者

在 NuGet 版本中 4.8 ,定義了新的驗證外掛程式機制,稱為 V2 認證提供者。 如需這些提供者的安裝和探索,請參閱 NuGet 跨平臺外掛程式

nuget.exe和 V1 認證提供者

在 NuGet 版本中 3.3 引進第一版的驗證外掛程式。 如需這些提供者的安裝和探索,請參閱 nuget.exe認證提供者

適用于nuget.exe的可用認證提供者

使用 Visual Studio 2017 15.9 版和更新版本時,Azure DevOps 認證提供者會隨附于 Visual Studio 中。 如果使用 nuget.exe 來自該特定 Visual Studio 工具組的 MSBuild,則會自動探索外掛程式。

dotnet.exe

dotnet.exe 需要認證以摘要進行驗證時,它會以下列方式尋找它們:

  1. 在檔案中 NuGet.config 尋找認證。
  2. 使用 V2 外掛程式認證提供者

根據預設 dotnet.exe ,不是互動式的,因此您可能需要傳遞 --interactive 旗標以取得工具以封鎖以進行驗證。

dotnet.exe 和 V2 認證提供者

在 SDK 版本中 2.2.100 ,NuGet 定義了適用于所有用戶端的驗證外掛程式機制。 如需這些提供者的安裝和探索,請參閱 NuGet 跨平臺外掛程式

適用于dotnet.exe的可用認證提供者

MSBuild.exe

MSBuild.exe 需要認證以摘要進行驗證時,它會以下列方式尋找它們:

  1. 在檔案中 NuGet.config 尋找認證
  2. 使用 V2 外掛程式認證提供者

根據預設 MSBuild.exe ,不是互動式的,因此您可能需要設定 /p:NuGetInteractive=true 屬性,以取得要封鎖以進行驗證的工具。

MSBuild.exe 和 V2 認證提供者

在 Visual Studio 2019 Update 9 中,NuGet 定義了適用于所有用戶端的驗證外掛程式機制。 如需這些提供者的安裝和探索,請參閱 NuGet 跨平臺外掛程式

適用于MSBuild.exe的可用認證提供者

透過 Visual Studio 2017 Update 9 和更新版本,Azure DevOps 認證提供者會隨附于 Visual Studio 中。 不需要任何額外步驟。