共用方式為


NuGet 3.0 預覽版版本資訊

NuGet 2.9 RC 版本資訊 | NuGet 3.0 Beta 版本資訊

NuGet 3.0 預覽版已於 2014 年 11 月 12 日發行,作為 Visual Studio 2015 預覽版的一部分。 我們發行了 NuGet 3.0 預覽版。 這對我們來說是一個重要的版本(儘管是預覽版),我們很高興開始收到有關我們更改的反饋。

Visual Studio 2012+

此 NuGet 3.0 預覽版包含在 Visual Studio 2015 預覽版中。 我們正在努力盡快推出 Visual Studio 2012 和 Visual Studio 2013 的預覽版。 我們之前分享了停止 Visual Studio 2010 更新的意圖,我們確實做出了這個艱難的決定。

全新用戶界面

您第一次看到 NuGet 3.0 預覽版時,注意到的就是我們全新的 UI。 它不再是模態對話;它現在是一個完整的 Visual Studio 文檔窗口。 這允許您一次打開多個專案(和/或解決方案)的 UI,將窗口移動到另一台顯示器,根據需要將其停靠等。

新的 NuGet UI

除了因放棄模式對話框而造成的可用性差異之外,我們在新 UI 中還有很多新功能。

版本選擇

也許最需要的 UI 功能是允許選擇版本以進行套件安裝和更新——現在已經可用。

套件版本選擇

無論您是安裝還是更新套件,版本下拉式清單都可讓您查看套件可用的所有版本,其中一些值得注意的版本會提升到清單頂部以便於選擇。 您不再需要使用 PowerShell 主控台來取得非最新的特定版本。

整合的安裝/線上/更新工作流程

我們之前的 UI 有 3 個選項卡,分別是“已安裝”、“在線”和“更新”。 列出的套件是這些工作流程專屬的,可用的動作也專屬於工作流程。 雖然這似乎是合乎邏輯的,但我們聽說你們中的許多人經常會因這種分離而絆倒。

我們現在擁有合併的體驗,無論您如何選取套件,您都可以安裝、更新或解除安裝套件。 為了協助特定工作流程,我們現在有一個篩選功能的下拉式選單,讓您篩選查看的套件,但套件的可執行動作保持不變。

解除安裝套件

透過使用「已安裝」篩選器,您可以輕鬆查看已安裝的套件、哪些套件有可用的更新,然後您可以透過變更版本選取來解除安裝或更新套件,以查看變更可用的動作。

更新套件

版本合併

通常會將相同的套件安裝到解決方案內的多個專案中。 有時,每個專案中安裝的版本可能會彼此不同,因此有必要統一使用中的版本。 NuGet 3.0 預覽版只針對此案例引進了新功能。

以滑鼠右鍵按兩下解決方案,然後選擇 [管理解決方案的 NuGet 套件],即可存取解決方案層級套件管理視窗。 從那裡,如果您選取已安裝到多個專案中但使用不同版本的套件,則新的「合併」動作會變成可用。 在下面的屏幕截圖中,Newtonsoft.Json 已安裝到 SamplesClassLibrary 中,版本為 6.0.4,並安裝到 SamplesConsoleApp 中,版本為 5.0.4

合併版本

以下是合併到單一版本的工作流程。

  1. 在清單中選取Newtonsoft.Json 套件
  2. Action下拉式選單中選擇Consolidate
  3. 使用 Version 下拉式清單來選取要合併的版本
  4. 勾選應集中於該版本的專案方框(請注意,已在所選版本上的專案會顯示為灰色)
  5. 按一下按鈕 Consolidate 以執行合併

操作預覽

無論您執行哪種作業 (安裝/更新/解除安裝),新的 UI 現在都提供預覽將對專案所做的變更的方法。 此預覽會顯示將安裝的任何新套件、將更新的套件、將解除安裝的套件,以及在作業期間不會變更的套件。

在下面的示例中,我們可以看到安裝 Microsoft.AspNet.SignalR 將導致項目發生相當多的更改。

預覽安裝 SignalR

安裝選項

使用 PowerShell 主控台,您可以控制幾個值得注意的安裝選項。 我們現在也將這些功能引入 UI。 您現在可以控制相依性解析的行為,來決定如何選擇相依性版本。

相依性行為

您也可以指定當套件中的內容檔案與專案中已有的檔案衝突時要採取的動作。

檔案衝突動作

無限滾動

我們曾經在列出套件時收到相當多的關於同時具有捲動和分頁範例的 UI 的回饋。 必須滾動到簡短列表的底部,單擊下一個頁碼,然後再次滾動是很常見的。 在新的 UI 中,我們在套件清單中實作無限捲動,讓您只需要捲動,而不需要再分頁。

無限滾動

讓它工作,讓它變得快速,讓它變得漂亮

我們很高興推出這個新的 UI 供您試用。在這個預覽里程碑中,我們一直遵循「讓它發揮作用、讓它快速、讓它變得漂亮」這句古老的格言。在這次預覽中,我們已經完成了大部分的第一個目標——它有效。 我們知道它還不是很快,也知道它還不太好看。 相信我們將從現在到 RC 版本之間努力實現這些目標。 同時,我們很樂意聽取您對新 UI 可用性的反饋,包括工作流程、操作以及使用新 UI 的感覺。

與舊的 UI 相比,我們刪除了一些功能。 其中一個是故意的,另一個只是沒有及時完成。

搜尋「所有」套件來源

舊的UI可讓您對所有套件來源執行套件搜尋。 我們已在 UI 中刪除了該功能,並且不會將其恢復。 此功能用於對所有套件來源執行搜尋作業、將結果編織在一起,並嘗試根據您的排序選擇對結果進行排序。

我們發現搜索相關性真的很難整合。 您能想像對 Google 和 Bing 進行搜索並將結果編織在一起嗎? 此外,此功能速度緩慢,容易 意外 使用,而且我們認為它實際上很少有用。 由於該功能引入的問題,我們收到了許多永遠無法修復的錯誤報告。

全部更新

我們曾經在舊 UI 中有一個“全部更新”按鈕,但新 UI 中還沒有。 我們將在 RC 版本中恢復此功能。

新的用戶端/伺服器 API

除了新套件管理 UI 中的所有新功能之外,我們也一直在處理 NuGet 用戶端/伺服器通訊協定的一些實作詳細數據。 我們所做的工作是為 NuGet 建立「API v3」,其設計是針對套件還原和安裝套件等重要案例的高可用性所設計。 新的 API 基於 REST 和超媒體,我們選擇了 JSON-LD 作為我們的資源格式。

在 NuGet 3.0 預覽位中,您會在套件來源下拉式清單中看到名為 「preview.nuget.org」 的新套件來源。 如果您選取該套件來源,我們將使用新的 API,而不是連線到 nuget.org。我們已在 UI 中提供預覽源,同時繼續測試、修訂和改進新 API。 在 NuGet 3.0 RC 中,這個新的 API v3 型套件來源會取代 v2 型「nuget.org」套件來源。

儘管我們在 API v3 上投入了大量資金,但我們已使所有這些新功能也適用於我們現有的 API v2 協議,這意味著它們也可以與 nuget.org 以外的現有包源一起使用。

新功能即將推出

從現在到 3.0 RTM 之間,我們也正在開發一些基本的新 NuGet 功能,除了您在 UI 中看到的功能之外。 以下是主要投資領域的簡短清單:

  1. 我們正在與 Visual Studio 和 MSBuild 小組合作,讓 NuGet 深入平台。
  2. 我們正在努力放棄安裝時套件慣例,而是透過引入新的「權威」 套件資訊清單,在封裝時套用這些慣例。
  3. 我們正在努力重構 NuGet 程式碼基底,讓用戶端和伺服器元件可在 Visual Studio 中的套件管理以外的不同網域中重複使用。
  4. 我們正在研究「私人相依性」的概念,其中套件可以指示它與其他套件具有相依性,僅用於實作詳細資料,而這些相依性不應顯示為頂層相依性。

敬請關注

請密切注意 我們的部落格 ,以取得 NuGet 3.0 的更多進度和公告!