Informacje o wersji programu NuGet 3.0 (wersja zapoznawcza)
Informacje o wersji | NuGet 2.9 RC NuGet 3.0 w wersji beta
Pakiet NuGet 3.0 (wersja zapoznawcza) został wydany 12 listopada 2014 r. w ramach wersji zapoznawczej programu Visual Studio 2015(wersja zapoznawcza). Wydaliśmy pakiet NuGet 3.0 (wersja zapoznawcza). Jest to dla nas duża wersja (choć wersja zapoznawcza) i jesteśmy podekscytowani rozpoczęciem przesyłania opinii na temat naszych zmian.
Visual Studio 2012+
Ten pakiet NuGet 3.0 (wersja zapoznawcza) jest zawarty w programie Visual Studio 2015 (wersja zapoznawcza). Pracujemy nad wprowadzeniem wersji zapoznawczej dla programów Visual Studio 2012 i Visual Studio 2013 już wkrótce. Wcześniej udostępniliśmy naszą intencję zaprzestania aktualizacji programu Visual Studio 2010 i dokonaliśmy tej trudnej decyzji.
Nowy interfejs użytkownika
Pierwszą rzeczą, którą zauważysz o wersji zapoznawczej NuGet 3.0, jest nasz nowy interfejs użytkownika. Nie jest to już modalne okno dialogowe; jest to teraz pełne okno dokumentu programu Visual Studio. Dzięki temu można otworzyć interfejs użytkownika dla wielu projektów (i/lub rozwiązania) jednocześnie, rozerwać okno do innego monitora, zadokować go tak, jak chcesz itp.
Poza różnicami użyteczności z powodu porzucenia modalnego okna dialogowego mamy również wiele nowych funkcji w nowym interfejsie użytkownika.
Wybór wersji
Być może najbardziej żądaną funkcją interfejsu użytkownika jest umożliwienie wyboru wersji dla instalacji pakietu i aktualizacji — jest teraz dostępna.
Niezależnie od tego, czy instalujesz, czy aktualizujesz pakiet, lista rozwijana wersji umożliwia wyświetlenie wszystkich dostępnych wersji pakietu, a niektóre istotne wersje są promowane na początku listy w celu łatwego wyboru. Nie musisz już używać konsoli programu PowerShell, aby uzyskać określone wersje, które nie są najnowsze.
Połączone zainstalowane/online/Aktualizacje przepływy pracy
Poprzedni interfejs użytkownika miał 3 karty Zainstalowane, Online i Aktualizacje. Wymienione pakiety były specyficzne dla tych przepływów pracy, a dostępne akcje były specyficzne dla przepływów pracy. Chociaż wydawało się to logiczne, słyszeliśmy, że wielu z was często potknął się przez tę separację.
Mamy teraz połączone środowisko, w którym można zainstalować, zaktualizować lub odinstalować pakiet niezależnie od wybranego pakietu. Aby ułatwić obsługę określonych przepływów pracy, mamy teraz listę rozwijaną Filtr, która umożliwia filtrowanie pakietów widocznych, ale akcje dostępne dla pakietu są spójne.
Korzystając z filtru "Zainstalowane", można łatwo zobaczyć zainstalowane pakiety, które mają dostępne aktualizacje, a następnie można odinstalować lub zaktualizować pakiet, zmieniając wybór wersji, aby zobaczyć zmianę dostępnej akcji.
Konsolidacja wersji
Często ten sam pakiet jest instalowany w wielu projektach w ramach rozwiązania. Czasami wersje zainstalowane w każdym projekcie mogą dryfować i konieczne jest skonsolidowanie używanych wersji. NuGet 3.0 (wersja zapoznawcza) wprowadza nową funkcję tylko w tym scenariuszu.
Dostęp do okna zarządzania pakietami na poziomie rozwiązania można uzyskać, klikając rozwiązanie prawym przyciskiem myszy i wybierając pozycję Zarządzaj pakietami NuGet dla rozwiązania. W tym miejscu, jeśli wybierzesz pakiet zainstalowany w wielu projektach, ale z różnymi wersjami używanymi, nowa akcja "Konsoliduj" stanie się dostępna. Na poniższym Newtonsoft.Json
zrzucie ekranu zainstalowano SamplesClassLibrary
program z wersją i został zainstalowany w SamplesConsoleApp
programie z wersją 5.0.4
6.0.4
.
Oto przepływ pracy konsolidowania na jedną wersję.
Newtonsoft.Json
Wybierz pakiet na liście- Wybierz
Consolidate
z listy rozwijanejAction
- Użyj listy rozwijanej
Version
, aby wybrać wersję do skonsolidowania - Zaznacz pola dla projektów, które powinny być skonsolidowane w tej wersji (pamiętaj, że projekty już w wybranej wersji będą wyszarzone)
- Kliknij przycisk,
Consolidate
aby przeprowadzić konsolidację
Podglądy operacji
Niezależnie od tego, która operacja wykonujesz — zainstaluj/zaktualizuj/odinstaluj — nowy interfejs użytkownika oferuje teraz sposób wyświetlania podglądu zmian, które zostaną wprowadzone w projekcie. W tej wersji zapoznawczej zostaną wyświetlone wszystkie nowe pakiety, które zostaną zainstalowane, pakiety, które zostaną zaktualizowane, oraz pakiety, które zostaną odinstalowane, wraz z pakietami, które będą niezmienione podczas operacji.
W poniższym przykładzie widać, że zainstalowanie biblioteki Microsoft.AspNet.SignalR spowoduje sporo zmian w projekcie.
Opcje instalacji
Za pomocą konsoli programu PowerShell masz kontrolę nad kilkoma godnymi uwagi opcjami instalacji. Teraz wprowadziliśmy te funkcje do interfejsu użytkownika. Teraz możesz kontrolować zachowanie rozwiązywania zależności pod kątem sposobu wybierania wersji zależności.
Można również określić akcję do wykonania, gdy pliki zawartości z pakietów powodują konflikt z plikami już w projekcie.
Nieskończone przewijanie
Użyliśmy sporo opinii na temat naszego interfejsu użytkownika, które mają zarówno paradygmaty przewijania, jak i stronicowania podczas wyświetlania listy pakietów. Dość często trzeba było przewijać w dolnej części krótkiej listy, kliknąć następny numer strony, a następnie przewinąć ponownie. Dzięki nowemu interfejsowi użytkownika zaimplementowaliśmy nieskończone przewijanie na liście pakietów, dzięki czemu trzeba tylko przewijać — nie ma więcej stronicowania.
Make it Work, Make it Fast, Make it Pretty
Cieszymy się, że możesz wypróbować ten nowy interfejs użytkownika. Podczas tego kamienia milowego w wersji zapoznawczej śledziliśmy dobre stare powiedzenie "Make it work, make it fast, make it pretty". W tej wersji zapoznawczej wykonaliśmy większość tego pierwszego celu — działa. Wiemy, że nie jest jeszcze dość szybko i wiemy, że nie jest jeszcze całkiem całkiem. Ufaj, że będziemy pracować nad tymi celami od teraz do wersji RC. W międzyczasie chcielibyśmy usłyszeć twoją opinię na temat użyteczności nowego interfejsu użytkownika — przepływów pracy, operacji i sposobu korzystania z nowego interfejsu użytkownika.
Istnieje kilka funkcji, które usunęliśmy w porównaniu ze starym interfejsem użytkownika. Jeden z nich był zamierzony, a drugi po prostu nie został wykonany na czas.
Wyszukiwanie źródeł pakietów "Wszystkie"
Stary interfejs użytkownika umożliwia wyszukiwanie pakietów we wszystkich źródłach pakietów. Usunęliśmy tę funkcję w interfejsie użytkownika i nie przywrócimy jej. Ta funkcja służy do wykonywania operacji wyszukiwania względem wszystkich źródeł pakietów, łączenia wyników i próby uporządkowania wyników na podstawie wybranego sortowania.
Odkryliśmy, że istotność wyszukiwania jest naprawdę trudna do łączenia. Czy można sobie wyobrazić wykonanie wyszukiwania względem Google i Bing i tkanie wyników razem? Ponadto ta funkcja była powolna, łatwa do przypadkowego użycia i uważamy, że rzadko była przydatna. Ze względu na problemy wprowadzone przez funkcję otrzymaliśmy szereg raportów o błędach, które nigdy nie mogły zostać naprawione.
Aktualizuj wszystko
Użyliśmy przycisku "Aktualizuj wszystko" w starym interfejsie użytkownika, który jeszcze nie istnieje w nowym interfejsie użytkownika. Wskrzesimy tę funkcję w wersji RC.
Nowy interfejs API klienta/serwera
Oprócz wszystkich nowych funkcji w naszym nowym interfejsie użytkownika zarządzania pakietami pracujemy również nad pewnymi szczegółami implementacji protokołu klienta/serwera NuGet. Wykonaliśmy pracę polega na utworzeniu "interfejsu API w wersji 3" dla pakietu NuGet, który jest przeznaczony dla wysokiej dostępności w scenariuszach krytycznych, takich jak przywracanie pakietów i instalowanie pakietów. Nowy interfejs API jest oparty na protokole REST i hipermedia, a jako format zasobu wybraliśmy format JSON-LD .
Na liście rozwijanej źródła pakietu nuGet 3.0 (wersja zapoznawcza) zostanie wyświetlone nowe źródło pakietu o nazwie "preview.nuget.org". W przypadku wybrania tego źródła pakietu użyjemy nowego interfejsu API, aby nawiązać połączenie z nuget.org. Udostępniliśmy źródło wersji zapoznawczej w interfejsie użytkownika, gdy będziemy nadal testować, poprawiać i ulepszać nowy interfejs API. W programie NuGet 3.0 RC to nowe źródło pakietu opartego na interfejsie API w wersji 3 zastąpi źródło pakietu oparte na nuget.org wersji 2 oparte na wersji 2.
Pomimo inwestycji, które wprowadzamy do interfejsu API w wersji 3, wszystkie te nowe funkcje współpracują również z istniejącym protokołem API w wersji 2, co oznacza, że będą współpracować z istniejącymi źródłami pakietów innych niż nuget.org.
Dostępne są nowe funkcje
Od teraz do 3.0 RTM pracujemy również nad niektórymi podstawowymi nowymi funkcjami NuGet, poza tym, co widzisz w interfejsie użytkownika. Oto krótka lista istotnych obszarów inwestycyjnych:
- Współpracujemy z zespołami visual studio i MSBuild, aby uzyskać bardziej szczegółowe informacje na temat platformy.
- Pracujemy nad porzuceniem konwencji pakietów w czasie instalacji i zamiast tego stosujemy te konwencje w czasie pakowania, wprowadzając nowy manifest pakietu "autorytatywne".
- Pracujemy nad refaktoryzację bazy kodu NuGet w celu ponownego wykorzystania składników klienta i serwera w różnych domenach poza zarządzaniem pakietami w programie Visual Studio.
- Badamy pojęcie "zależności prywatnych", w których pakiet może wskazywać, że ma zależności od innych pakietów tylko dla szczegółów implementacji, a te zależności nie powinny być widoczne jako zależności najwyższego poziomu.
Stay tuned
Zwróć uwagę na nasz blog , aby uzyskać więcej postępów i anonsów dla NuGet 3.0!