Zpráva k vydání verze NuGet 3.0 Preview
Poznámky k verzi NuGet 2.9 RC – Poznámky | k verzi NuGet 3.0 Beta
NuGet 3.0 Preview byl vydán 12. listopadu 2014 jako součást verze Visual Studio 2015 Preview. Vydali jsme NuGet 3.0 Preview. Toto je pro nás velká verze (i když ve verzi Preview) a jsme rádi, že začneme dostávat zpětnou vazbu k našim změnám.
Visual Studio 2012+
Tento NuGet 3.0 Preview je součástí sady Visual Studio 2015 Preview. Pracujeme na tom, abychom brzy získali výpadek verze Preview pro Visual Studio 2012 a Visual Studio 2013. Dříve jsme sdíleli svůj záměr ukončit aktualizace pro Visual Studio 2010 a udělali jsme toto obtížné rozhodnutí.
Zcela nové uživatelské rozhraní
První věc, kterou si všimnete o NuGetu 3.0 Preview, je naše zcela nové uživatelské rozhraní. Už není modální dialog; je to teď celé okno dokumentu sady Visual Studio. To vám umožní otevřít uživatelské rozhraní pro více projektů (nebo řešení) najednou, vypnout okno na jiný monitor, ukotvit ho, ale chcete, atd.
Kromě rozdílů v použitelnosti kvůli opuštění modálního dialogového okna máme v novém uživatelském rozhraní také spoustu nových funkcí.
Výběr verze
Možná, že nejžádanější funkcí uživatelského rozhraní je povolit výběr verze pro instalaci balíčku a aktualizaci – to je teď k dispozici.
Bez ohledu na to, jestli instalujete nebo aktualizujete balíček, vám rozevírací seznam verzí umožňuje zobrazit všechny verze dostupné pro balíček, přičemž některé důležité verze jsou povýšené na začátek seznamu, aby bylo možné snadno vybrat. K získání konkrétních verzí, které nejsou nejnovější, už nemusíte používat konzolu PowerShellu.
Kombinované nainstalované, online/Aktualizace pracovní postupy
Předchozí uživatelské rozhraní mělo 3 karty nainstalovaných, online a Aktualizace. Uvedené balíčky byly specifické pro tyto pracovní postupy a akce, které jsou k dispozici, byly také specifické pro pracovní postupy. I když to vypadalo jako logické, slyšeli jsme, že mnozí z vás by se při tomto oddělení často zklamali.
Nyní máme kombinované prostředí, kde můžete nainstalovat, aktualizovat nebo odinstalovat balíček bez ohledu na to, jak jste balíček vybrali. Abychom vám pomohli s konkrétními pracovními postupy, máme teď rozevírací seznam Filtru, který umožňuje filtrovat viditelné balíčky, ale akce dostupné pro balíček jsou konzistentní.
Pomocí filtru Nainstalováno pak můžete snadno zobrazit nainstalované balíčky, které mají k dispozici aktualizace, a pak můžete balíček odinstalovat nebo aktualizovat změnou výběru verze, aby se zobrazila změna dostupné akce.
Konsolidace verzí
Stejný balíček je obvykle nainstalovaný do více projektů v rámci vašeho řešení. Někdy se verze nainstalované do každého projektu mohou odlišovat a je nutné konsolidovat používané verze. NuGet 3.0 Preview zavádí novou funkci pouze pro tento scénář.
K okně správy balíčků na úrovni řešení se dostanete tak, že kliknete pravým tlačítkem na řešení a zvolíte Spravovat balíčky NuGet pro řešení. Odsud vyberete balíček, který je nainstalovaný do více projektů, ale s různými verzemi, bude k dispozici nová akce Konsolidovat. Na následujícím snímku Newtonsoft.Json
obrazovky byl nainstalován do SamplesClassLibrary
verze 6.0.4
a nainstalován do SamplesConsoleApp
verze 5.0.4
.
Tady je pracovní postup pro konsolidaci do jedné verze.
Newtonsoft.Json
Výběr balíčku v seznamu- Výběr
Consolidate
z rozevíracíhoAction
seznamu - Pomocí rozevíracího
Version
seznamu vyberte verzi, do které se má konsolidovat. - Zaškrtněte políčka u projektů, které by se měly sloučit do této verze (mějte na paměti, že projekty, které už jsou ve vybrané verzi, budou neaktivní).
- Kliknutím na
Consolidate
tlačítko provedete sloučení.
Náhledy operací
Bez ohledu na to, jakou operaci provádíte – --install/update/uninstall--- nové uživatelské rozhraní teď nabízí způsob, jak zobrazit náhled změn, které budou provedeny v projektu. Tato verze Preview zobrazí všechny nové balíčky, které se nainstalují, balíčky, které budou aktualizovány, a balíčky, které budou odinstalovány, spolu s balíčky, které se během operace nezmění.
V následujícím příkladu vidíme, že instalace Microsoft.AspNet.SignalR způsobí poměrně několik změn projektu.
Možnosti instalace
Pomocí konzoly PowerShellu jste měli kontrolu nad sadou náležných možností instalace. Tyto funkce jsme teď také přenesli do uživatelského rozhraní. Teď můžete řídit chování řešení závislostí pro výběr verzí závislostí.
Můžete také určit akci, která se má provést, když jsou soubory obsahu z balíčků v konfliktu se soubory, které už jsou v projektu.
Nekonečné posouvání
Při výpisu balíčků jsme získali poměrně zpětnou vazbu k našemu uživatelskému rozhraní, kde se při výpisu balíčků používalo posouvání i stránkování. Bylo docela běžné, že se musí posunout do dolní části krátkého seznamu, kliknout na další číslo stránky a pak se znovu posunout. S novým uživatelským rozhraním jsme implementovali nekonečné posouvání v seznamu balíčků, takže stačí posouvání – bez dalšího stránkování.
Make it Work, Make it Fast, Make it Pretty
S radostí vám můžeme toto nové uživatelské rozhraní vyzkoušet. Během tohoto milníku ve verzi Preview jsme postupovali po dobré staré přísloví "Make it work, make it fast, make it pretty" (Make it work, make it fast, make it pretty). V této verzi Preview jsme dosáhli většiny z tohoto prvního cíle – funguje to. Víme, že to ještě není docela rychlé a víme, že to ještě není docela hezké. Důvěřujeme tomu, že budeme na těchto cílech pracovat od teď do verze RC. Do té doby bychom rádi slyšeli vaši zpětnou vazbu o použitelnosti nových pracovních postupů, operací a způsobu použití nového uživatelského rozhraní.
Ve srovnání se starým uživatelským rozhraním jsme odebrali několik funkcí. Jeden z nich byl úmyslný a druhý nebyl včas hotový.
Vyhledávání zdrojů balíčků "Vše"
Staré uživatelské rozhraní vám umožnilo provést vyhledávání balíčků ve všech zdrojích balíčků. Tuto funkci jsme odebrali v uživatelském rozhraní a nebudeme ji vracet zpět. Tato funkce slouží k provádění vyhledávacích operací se všemi zdroji balíčků, skládání výsledků a pokusu o seřazení výsledků na základě výběru řazení.
Zjistili jsme, že relevance hledání je opravdu těžké spojit dohromady. Mohl byste si představit, že jste provedli vyhledávání na Google a Bingu a tkali výsledky dohromady? Kromě toho byla tato funkce pomalá, snadno se omylem používala a věříme, že byla zřídka užitečná. Z důvodu problémů, které funkce zavedla, jsme obdrželi řadu zpráv o chybách, které nebylo možné nikdy opravit.
Aktualizovat vše
Ve starém uživatelském rozhraní jsme použili tlačítko Aktualizovat vše, které ještě v novém uživatelském rozhraní není. Tuto funkci obnovíme pro naši verzi RC.
Nové rozhraní API klienta nebo serveru
Kromě všech nových funkcí v našem novém uživatelském rozhraní pro správu balíčků jsme také pracovali na některých podrobnostech implementace pro protokol klienta nebo serveru NuGet. Práce, kterou jsme provedli, spočívá v vytvoření rozhraní API v3 pro NuGet, které je navržené tak, aby bylo možné použít vysokou dostupnost pro kritické scénáře, jako je obnovení balíčku a instalace balíčků. Nové rozhraní API je založené na REST a Hypermedia a jako formát prostředků jsme vybrali JSON-LD .
V bitech NuGet 3.0 Preview se v rozevíracím seznamu zdroje balíčku zobrazí nový zdroj balíčku s názvem "preview.nuget.org". Pokud vyberete zdroj balíčku, použijeme k připojení k nuget.org naše nové rozhraní API. Během testování, revize a vylepšování nového rozhraní API jsme zpřístupnili zdroj preview v uživatelském rozhraní. V NuGetu 3.0 RC nahradí tento nový zdroj balíčků založený na rozhraní API v3 zdroj balíčku nuget.org verze 2.
I přes investici, kterou vkládáme do rozhraní API v3, jsme provedli všechny tyto nové funkce i s naším stávajícím protokolem API v2, což znamená, že budou fungovat s jinými zdroji balíčků než s nuget.org.
Připravuje se nové funkce
Mezi teď a 3.0 RTM pracujeme také na některých základních nových funkcích NuGet, kromě toho, co vidíte v uživatelském rozhraní. Tady je krátký seznam oblastí pro investice:
- Spolupracujeme s týmy sady Visual Studio a MSBuild, abychom nuGet získali hlouběji do platformy.
- Pracujeme na opuštění konvencí instalačního balíčku a místo toho tyto konvence použijeme v době balení zavedením nového "autoritativního" manifestu balíčku.
- Pracujeme na refaktorování základu kódu NuGet, aby bylo možné komponenty klienta a serveru opakovaně používat v různých doménách nad rámec správy balíčků v sadě Visual Studio.
- Zkoumáme pojem "privátní závislosti", kde balíček může indikovat, že obsahuje závislosti na jiných balíčcích pouze pro podrobnosti implementace a tyto závislosti by se neměly zobrazit jako závislosti nejvyšší úrovně.
Zůstaňte v laděné
Sledujte prosím náš blog , kde najdete další pokrok a oznámení pro NuGet 3.0!