Megosztás a következőn keresztül:


NuGet 3.0 előzetes kiadási megjegyzések

NuGet 2.9 RC kibocsátási megjegyzések | NuGet 3.0 béta kiadási megjegyzések

A NuGet 3.0 előzetes verziója 2014. november 12-én jelent meg a Visual Studio 2015 előzetes kiadásának részeként. Megjelent a NuGet 3.0 előzetes verziója. Ez egy nagy kiadás számunkra (bár előzetes verzió), és izgatottan várjuk, hogy visszajelzést kapjunk a változásokról.

Visual Studio 2012+

Ez a NuGet 3.0 előzetes verzió a Visual Studio 2015 előzetes verziójában érhető el. Dolgozunk azon, hogy a Visual Studio 2012 és a Visual Studio 2013 előzetes verziója hamarosan elérhető legyen. Korábban megosztottuk a Visual Studio 2010 frissítéseinek megszüntetésére vonatkozó szándékunkat, és ezt a nehéz döntést hoztuk meg.

Vadonatúj felhasználói felület

Amikor megtekintjük a NuGet 3.0 előzetes verzióját, az első dolog, ami feltűnik, az a vadonatúj felhasználói felület. Ez már nem modális párbeszédpanel; ez most egy teljes Visual Studio-dokumentumablak. Ez lehetővé teszi, hogy egyszerre több projekt (és/vagy megoldás) felhasználói felületét nyissa meg, bontsa ki az ablakot egy másik monitorra, rögzítse azt tetszés szerint, stb.

Az új NuGet felhasználói felület

A modális párbeszédpanel elhagyása miatt fennálló használhatósági különbségeken túl számos új funkcióval is rendelkezünk az új felhasználói felületen.

Verzióválasztás

Talán a leggyakrabban kért felhasználói felületi funkció a csomagtelepítés és -frissítés verzióválasztásának engedélyezése – ez most már elérhető.

Csomagverzió kiválasztása

Függetlenül attól, hogy egy csomagot telepít vagy frissít, a verzió legördülő menüben láthatja a csomaghoz elérhető összes verziót, és néhány figyelemre méltó verziót előléptet a lista tetejére a könnyű kijelölés érdekében. Nem kell többé a PowerShell-konzolt használnia ahhoz, hogy olyan verziókat kapjon, amelyek nem a legújabbak.

Kombinált telepített/Online/Frissítési munkafolyamatok

Az előző felhasználói felületünkön három lap volt: Telepített, Online és Frissítések. A felsorolt csomagok ezekre a munkafolyamatokra vonatkoztak, és az elérhető műveletek a munkafolyamatokra is vonatkoztak. Logikusnak tűnhetett, hogy így legyen, azonban hallottuk, hogy sokan gyakran nehézséget okozott ez a különválasztás.

Most már van egy integrált élményünk, amely lehetővé teszi, hogy a csomag kiválasztásának módjától függetlenül telepítse, frissítse vagy eltávolítsa azt. Az adott munkafolyamatok támogatásához most már van egy Szűrő legördülő lista, amely lehetővé teszi a csomagok látható szűrését, de a csomaghoz elérhető műveletek konzisztensek.

Csomag eltávolítása

A "Telepített" szűrővel egyszerűen megtekintheti a telepített csomagokat, amelyekben elérhetőek a frissítések, majd a verzióválasztás módosításával eltávolíthatja vagy frissítheti a csomagot, hogy megjelenjen a rendelkezésre álló művelet.

Csomag frissítése

Verziókonszolidáció

Gyakori, hogy ugyanazt a csomagot több projektbe is telepíti a megoldáson belül. Előfordulhat, hogy az egyes projektekbe telepített verziók eltávolodhatnak egymástól, és össze kell egyesíteni a használt verziókat. A NuGet 3.0 előzetes verziója egy új funkciót vezet be ehhez a forgatókönyvhöz.

A megoldásszintű csomagkezelési ablak a jobb gombbal a megoldásra kattintva és a Megoldáshoz készült NuGet-csomagok kezelése lehetőség választásával érhető el. Ha olyan csomagot választ ki, amely több projektbe van telepítve, de különböző verziókkal van használatban, egy új "Konszolidálás" művelet válik elérhetővé. Az alábbi képernyőképen a Newtonsoft.Json be lett telepítve a SamplesClassLibrary-ba verzió 6.0.4-val, és be lett telepítve a SamplesConsoleApp-ba verzió 5.0.4-val.

Verziók összesítése

Az alábbi munkafolyamat egyetlen verzióra való összesítést ismerteti.

  1. Válassza ki a Newtonsoft.Json csomagot a listában
  2. Válasszon Consolidate a Action legördülő listából
  3. Version A legördülő menüben válassza ki a konszolidálni kívánt verziót
  4. Jelölje be az adott verzióra összesítendő projektek jelölőnégyzeteit (vegye figyelembe, hogy a kiválasztott verzióban már szereplő projektek szürkén jelennek meg)
  5. Kattintson a Consolidate gombra az összevonás végrehajtásához

Műveleti előnézetek

Függetlenül attól, hogy melyik műveletet hajtja végre – telepítés/frissítés/eltávolítás – az új felhasználói felület mostantól lehetővé teszi a projekten végrehajtott módosítások előnézetének megtekintését. Ez az előzetes verzió megjeleníti a telepített új csomagokat, a frissített csomagokat és az eltávolítandó csomagokat, valamint a művelet során változatlan csomagokat.

Az alábbi példában láthatjuk, hogy a Microsoft.AspNet.SignalR telepítése a projekt számos módosítását eredményezi.

A SignalR telepítésének előnézete

Telepítési beállítások

A PowerShell-konzol használatával számos jelentős telepítési lehetőséget szabályozhat. Ezeket a funkciókat most már a felhasználói felületre is behoztuk. Mostantól szabályozhatja a függőségfeloldási viselkedést a függőségek verzióinak kiválasztásához.

Függőségi viselkedés

Azt is megadhatja, hogy milyen műveletet kell elvégeznie, ha a csomagokban lévő tartalomfájlok ütköznek a projektben már szereplő fájlokkal.

Fájlütközési művelet

Végtelen görgetés

Korábban elég sok visszajelzést kaptunk arról, hogy a felhasználói felületen a görgetési és a lapozási paradigmák is jelen vannak a csomagok listázásakor. Elég gyakori volt, hogy a rövid lista aljára kellett görgetni, a következő oldalszámra kattintani, majd újra görgetni. Az új felhasználói felülettel végtelen görgetést implementáltunk a csomaglistában, így csak görgetni kell – nincs több lapozás.

Végtelen görgetés

Működjön jól, legyen gyors, legyen szép

Izgatottan várjuk, hogy kipróbálhassa ezt az új felhasználói felületet. Ebben az előzetes mérföldkőben követtük a "Működjön, gyors legyen, szép legyen" jó régi példabeszédét. Ebben az előzetesben az első cél nagy részét elértük – ez működik. Tudjuk, hogy még nem túl gyors, és tudjuk, hogy még nem elég szép. Bízzon abban, hogy az RC-kiadástól kezdve a célokon dolgozunk majd. Addig is szívesen hallanánk visszajelzését az új felhasználói felület használhatóságáról – a munkafolyamatokról, műveletekről és az új felhasználói felület használatáról.

A régi felhasználói felülettel összehasonlítva néhány függvényt eltávolítottunk. Az egyik szándékos volt, a másik pedig nem lett időben kész.

Keresés az "Összes" csomagforrásban

A régi felhasználói felület lehetővé tette, hogy csomagkeresést végezzen az összes csomagforráson. Eltávolítottuk ezt a funkciót a felhasználói felületen, és nem fogjuk visszahozni. Ezzel a funkcióval keresési műveleteket hajthat végre az összes csomagforráson, összefonhatja az eredményeket, és a rendezési kijelölés alapján próbálja meg rendezni az eredményeket.

Megállapítottuk, hogy a keresési relevancia integrálása igazán nehéz feladat. El tudná képzelni, hogy keresést végez a Google és a Bing között, és együtt szője az eredményeket? Emellett ez a funkció lassú, könnyen véletlenül használható volt, és úgy gondoljuk, hogy ritkán volt igazán hasznos. A szolgáltatás által bevezetett problémák miatt számos olyan hibajelentést kaptunk rajta, amelyeket soha nem lehetett volna kijavítanunk.

Az összes frissítése

Korábban volt egy "Az összes frissítése" gomb a régi felhasználói felületen, amely még nem található az új felhasználói felületen. Ezt a funkciót az RC-kiadáshoz fogjuk újraéleszteni.

Új ügyfél-/kiszolgálói API

Az új csomagkezelési felhasználói felület összes új funkciója mellett a NuGet ügyfél- és kiszolgálóprotokolljának implementálási részletein is dolgozunk. Az elvégzett munka a NuGethez készült "API v3" létrehozása, amely olyan kritikus helyzetek magas rendelkezésre állása köré lett kialakítva, mint a csomagok visszaállítása és telepítése. Az új API a REST-en és a Hypermedia-n alapul, és a JSON-LD-t választottuk erőforrás-formátumként.

A NuGet 3.0 előzetes verziójú bitjeiben megjelenik egy "preview.nuget.org" nevű új csomagforrás a csomag forrásának legördülő listájában. Ha ezt a csomagforrást választja, az új API-t fogjuk használni a nuget.org való csatlakozáshoz. Elérhetővé tettük az előzetes verziójú forrást a felhasználói felületen, miközben továbbra is teszteljük, felülvizsgáljuk és továbbfejlesztjük az új API-t. A NuGet 3.0 RC-ben ez az új API v3-alapú csomagforrás helyettesíti a v2-alapú "nuget.org" csomagforrást.

Az API v3-as verziójába fektetett befektetés ellenére ezen új funkciók mindegyike a meglévő API v2 protokollal is működik, ami azt jelenti, hogy a nuget.org kivételével a meglévő csomagforrásokkal is működni fognak.

Új funkciók várhatók

Mostantól a 3.0 RTM időszakig néhány alapvető új NuGet-funkción dolgozunk, a felhasználói felületen láthatóakon túl. Íme egy rövid lista a legfontosabb befektetési területekről:

  1. Együttműködünk a Visual Studióval és az MSBuild csapatával, hogy mélyebbre ássuk a NuGetet a platformon.
  2. Dolgozunk a telepítési idő szerinti csomagkonvenciók megszüntetésén, és ehelyett a csomagolási időben alkalmazzuk ezeket a konvenciókat egy új "mérvadó" csomagjegyzék bevezetésével.
  3. Dolgozunk a NuGet-kódbázis újrabontásán, hogy az ügyfél- és kiszolgálóösszetevők a Visual Studióban a csomagkezelésen kívül más tartományokban is újra felhasználhatók legyenek.
  4. A "privát függőségek" fogalmát vizsgáljuk, ahol egy csomag azt jelezheti, hogy csak a megvalósítás részleteihez tartozó más csomagoktól függ, és ezeket a függőségeket nem szabad legfelső szintű függőségekként felszínre helyezni.

Maradjon velünk

Kérjük, tartsa szem előtt blogunk további előrehaladását és bejelentéseit NuGet 3.0!