NuGet 1.4 版本資訊
NuGet 1.3 版本資訊 | NuGet 1.5 版本資訊
NuGet 1.4 於 2011 年 6 月 17 日發行。
NuGet 1.4 引進了 Update-Package 命令的許多改進功能,可讓您更輕鬆地在方案中的多個專案中將套件保持在相同版本。 例如,將套件升級至最新版本時,通常會讓已安裝該套件的所有專案更新為相同的 Verision。
命令 Update-Package
現在可讓您更輕鬆地:
Update-Package -Project MvcApplication1
Update-Package PackageId
Update-Package
旗 -Safe
標只會將升級限制為具有相同主要和次要版本元件的版本。 例如,如果已安裝套件 1.0.0 版,且 1.0.1、1.0.2 和 1.1 版可在摘要中使用,旗標會將 -Safe
套件更新為 1.0.2。 在沒有旗標的情況下 -Safe
升級會將套件升級至最新版本 1.1。
Update-Package -Safe
在 NuGet 1.4 之前,使用對話框將套件安裝到多個專案中很麻煩。 每個專案都需要啟動對話框一次。
NuGet 1.4 新增了同時在多個專案中安裝/卸載/更新套件的支援。 只要以滑鼠右鍵按兩下 [解決方案],然後選取 [ 管理 NuGet 套件 ] 選單選項,即可啟動 。
請注意,在對話框的標題欄中,會顯示方案的名稱,而不是項目的名稱。 套件作業現在會提供複選框清單,其中包含作業應套用的項目清單。
如需詳細資訊,請參閱管理 解決方案套件的主題。
根據預設,在封裝上執行 Update-Package
命令時(或使用對話框更新套件),它會更新為摘要中的最新版本。 有了更新所有套件的新支援,您可能會想要將套件鎖定至特定版本範圍。 例如,您可能事先知道您的應用程式只能使用 2.* 版的套件,但不能使用 3.0 版和更新版本。 為了防止意外將套件更新為 3,NuGet 1.4 新增支援,以限制套件可使用新allowedVersions
屬性手動編輯packages.config
檔案來升級至的版本範圍。
例如,下列範例示範如何鎖定 SomePackage
版本範圍 2.0 - 3.0 (獨佔)。
屬性 allowedVersions
會使用 版本範圍格式接受值。
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="SomePackage" version="2.1.0" allowedVersions="[2.0, 3.0)" />
</packages>
請注意,在 1.4 中,必須手動編輯將套件鎖定至特定版本範圍。 在 NuGet 1.5 中,我們計畫新增支援,以透過 Install-Package
命令放置此範圍。
新的套件可視化檢視是透過 [工具連結>庫] 封裝管理員 ->Package Visualizer 功能表選項啟動,可讓您輕鬆地可視化解決方案內的所有專案及其套件相依性。
重要注意事項: 這項功能會利用Visual Studio中的 DGML 支援。 只有在Visual Studio Ultimate 中才支援建立視覺效果。 只有在 Visual Studio 進階版 或更高版本中才支援檢視 DGML 圖表。
某些版本的 NuGet 引進透過 .nuspec
舊版 NuGet 對話框無法理解的檔案表示的新功能。
其中一個範例是 NuGet 1.4 中用來 指定架構元件的簡介。
因此,請務必使用最新版本的 NuGet,以確保您可以使用利用最新功能的套件。
若要讓 NuGet 更新更加可見,NuGet 對話方塊會包含邏輯,以在有較新版本可用時反白顯示。
注意:只有在目前會話中已選取 [在線] 索引卷標時,才會進行檢查。
若要關閉更新的自動檢查,請移至 [NuGet 設定] 對話框,然後取消核取 [自動檢查更新]。
這項功能實際上已在 NuGet 1.3 中新增,但當然,在提供 NuGet 1.4 等 1.3 更新之前,不會顯示此功能。
- 已改善功能表名稱:已重新命名啟動對話框的功能表選項,以便清楚起見。 功能表選項現在是 [管理 NuGet 套件]。
- [詳細數據] 窗格會顯示最新的更新日期:[NuGet] 對話框會在選取 [在線] 或 [更新] 索引卷標時,在套件的詳細數據窗格中顯示最新更新的日期。
- 顯示的標籤清單:[Nuget] 對話框會顯示標籤。
- 已簽署的PowerShell腳本:NuGet包含已簽署的Powershell腳本,可讓您在更嚴格的環境中使用。
- 提示支援:封裝管理員 主控台現在支援透過
$host.ui.Prompt
和$host.ui.PromptForChoice
命令提示。 - 套件來源名稱:使用
-Source
旗標指定套件來源時,支援提供套件來源的名稱。
- NuGet 自定義命令:nuget.exe可透過使用MEF的自定義命令進行擴充。
- 建立符號套件的工作流程更簡單:
-Symbols
旗標可以套用至一般慣例型資料夾結構,藉由只包含資料夾內的來源和.pdb
檔案來建立符號套件。 - 指定多個來源:
NuGet install
命令支援使用分號做為分隔符或指定多次來指定-Source
多個來源。 - Proxy 驗證支援:NuGet 1.4 會在需要驗證的 Proxy 後方使用 NuGet 時,新增提示使用者認證的支援。
- nuget.exe更新中斷性變更:
-Self
現在需要旗標,nuget.exe才能自行更新。nuget.exe Update
現在會採用檔案的路徑packages.config
,並嘗試更新套件。 請注意,此更新有限,因為它不會:** 更新、新增、移除專案檔中的內容。 ** 在套件內執行 Powershell 腳本。
NuGet 包含透過 NuGet 套件裝載輕量型 Web 型 NuGet 存放庫NuGet.Server
的簡單方式。 使用 NuGet 1.4,輕量型伺服器支援使用 nuget.exe 推送和刪除套件。
的最新版本NuGet.Server
會新增名為 apiKey
的新 appSetting
。 當省略金鑰或保留空白時,會停用將套件推送至摘要。 將 apiKey 設定為值(在理想情況下為強密碼)會使用 nuget.exe來推送套件。
<appSettings>
<!-- Set the value here to allow people to push/delete packages from the server.
NOTE: This is a shared key (password) for all users. -->
<add key="apiKey" value="" />
</appSettings>
適用於Mango的 Windows 電話 工具版本現在支援 NuGet。 目前,Windows 電話 Tools 不支援 Visual Studio 擴充功能管理員,因此若要安裝適用於 Windows 電話 Tools 的 NuGet,您可能需要手動下載並執行 VSIX。
若要卸載 Windows 電話 Tools 的 NuGet,請執行下列命令。
vsixinstaller.exe /uninstall:NuPackToolsVsix.Microsoft.67e54e40-0ae3-42c5-a949-fddf5739e7a5
NuGet 1.4 總共已修正 88 個工作專案。 其中 71 個標記為 Bug。
如需 NuGet 1.4 中修正的工作專案完整清單,請檢視 [NuGet Issue Tracker for this release](http://nuget.codeplex.com/workitem/list/advanced?keyword=&status=All&type=All&priority=All&release=NuGet%201.4&assignedTo=All&component=All&sortField=LastUpdatedDate&sortDirection=Descending&page=0)
。
[Issue 603](http://nuget.codeplex.com/workitem/603)
:指定特定套件來源時,跨不同存放庫的套件相依性會正確解析。[Issue 1036](http://nuget.codeplex.com/workitem/1036)
:新增NuGet Pack SomeProject.csproj
至建置後事件不再造成無限迴圈。[Issue 961](http://nuget.codeplex.com/workitem/961)
:-Source
旗標支持相對路徑。
在 NuGet 1.4 發行後不久,我們發現修正的幾個問題很重要。 此更新至 1.4 的特定版本號碼是 1.4.20615.9020。
[Issue 1220](http://nuget.codeplex.com/workitem/1220)
:當有多個專案時,Update-Package 不會在所有項目中執行install.ps1
/uninstall.ps1
[Issue 1156](http://nuget.codeplex.com/workitem/1156)
:封裝管理員 Consol 卡在 W2K3/XP 上(未安裝 Powershell 2 時)