NuGet已經是Visual Studio寫專案時的柴米油鹽醬醋茶了,但有些人可能沒發現在解決方案(.sln,Solution)層也可以開啟NuGet Manager。如下圖,在Solution Explorer的.sln開右鍵選單,有一個「Manage NuGet Packages for Solution…」:
在解決方案開啟NuGet Manager可以一次檢視所有專案的Package安裝狀況,但在VS2013時代,這功能有點雞肋。如以下例子,解決方案裡總共有三個專案安裝兩種不同版本HelperSharp,於是NuGet Manager的Package清單會看到兩筆HelperSharp,點選其中一項,右側則會顯示它被安裝在哪幾個專案(Currently installed in projects),點下Manage鈕可以批次移除。
Visual Studio 2015對NuGet Manager介面做了大幅改版,解決方案的套件管理介面變得更貼心好用。首先,同一套件的新舊版本被整合成單一項目,在右側以清單方式呈現套件在各專案的安裝狀況,並直接顯示安裝的版本號碼。如果你常常處理元件版本衡突,一定能了解這張彙總清單有多珍貴。:P
而處理元件版本衝突時,更新到最新版有時不是最佳解,降版牽就某些既有程式庫反而比較省事。過去NuGet Manager UI只提供解除安裝或升級到最新版,要安裝特定版本需要使用命令列工具下指令。VS2015的NuGet Manager安裝套件時可由版本清單選取最新版或歷史版本,還可透過勾選一次安裝或更新多個專案,解決版本衡突一次到位。
身為三不五時要處理元件版本衝突的苦手,發現這個功能的當下,我彷彿看到Visual Studio開發人員對我說「你的痛苦,我懂!」XD 再次為地表最強的開發工具按個讚!