Udostępnij przez


Informacje o wersji programu NuGet 3.0 (wersja zapoznawcza)

Informacje o | Informacje o wersji beta narzędzia NuGet 3.0

NuGet 3.0 (wersja zapoznawcza) został wydany 12 listopada 2014 r. jako część wersji zapoznawczej Visual Studio 2015. Wydaliśmy pakiet NuGet 3.0 (wersja zapoznawcza). Jest to dla nas znaczące wydanie (mimo że to tylko wersja zapoznawcza), i jesteśmy podekscytowani otrzymywaniem opinii na temat naszych zmian.

Visual Studio 2012+

Ten pakiet NuGet 3.0 (wersja testowa) jest częścią Visual Studio 2015 Preview. Pracujemy nad udostępnieniem wersji przedpremierowych dla programów Visual Studio 2012 i Visual Studio 2013 już bardzo 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, przenieść okno na inny monitor, zadokować je według własnych preferencji itp.

Nowy interfejs użytkownika narzędzia NuGet

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.

Wybór wersji pakietu

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 przepływy pracy: instalacja, online, aktualizacje.

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 potyka się z powodu tej separacji.

Mamy teraz zintegrowane środowisko, w którym można zainstalować, zaktualizować lub odinstalować pakiet niezależnie od tego, jak pakiet został wybrany. 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.

Odinstalowywanie pakietu

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.

Aktualizowanie pakietu

Konsolidacja wersji

Często ten sam pakiet jest instalowany w wielu projektach w ramach rozwiązania. Czasami wersje zainstalowane w poszczególnych projektach mogą stać się rozbieżne 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 zrzucie ekranu Newtonsoft.Json został zainstalowany w SamplesClassLibrary z wersją 6.0.4 i zainstalowany w SamplesConsoleApp z wersją 5.0.4.

Skonsoliduj wersje

Oto przepływ pracy konsolidowania do jednej wersji.

  1. Newtonsoft.Json Wybierz pakiet na liście
  2. Wybierz Consolidate z listy rozwijanej Action
  3. Użyj listy rozwijanej Version , aby wybrać wersję do skonsolidowania
  4. Zaznacz pola dla projektów, które powinny być skonsolidowane do tej wersji (pamiętaj, że projekty już znajdujące się w wybranej wersji będą wyszarzone)
  5. 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.

Instalowanie usługi SignalR w wersji zapoznawczej

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.

Zachowanie 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.

Akcja powodująca konflikt plików

Nieskończone przewijanie

Kiedyś dostawaliśmy sporo opinii na temat naszego interfejsu użytkownika, który posiadał zarówno paradygmaty przewijania, jak i stronicowania podczas listowania pakietów. Często trzeba było przewijać na dół krótkiej listy, klikać numer następnej strony i ponownie przewijać. 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.

Nieskończone przewijanie

Niech działa, niech będzie szybkie, niech będzie ładne

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ść szybki i wiemy, że nie jest jeszcze dość ładny. Możesz być pewien, że będziemy pracować nad tymi celami od teraz do wydania 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 we wszystkich źródłach pakietów

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 bardzo trudna do zintegrowania. Czy potrafisz sobie wyobrazić wykonanie wyszukiwania w serwisach Google i Bing i połączenie ich wyników? 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. Nasza praca polegała na stworzeniu "API v3" dla NuGet, które jest zaprojektowane z myślą o wysokiej dostępności w krytycznych scenariuszach, takich jak przywracanie 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ódeł pakietów w wersji zapoznawczej NuGet 3.0 zobaczysz nowe źródło o nazwie "preview.nuget.org". W przypadku wybrania tego źródła pakietu użyjemy naszego nowego interfejsu API specjalnie do połączenia z nuget.org. Udostępniliśmy źródło wersji zapoznawczej w interfejsie użytkownika aplikacji, a my nadal testujemy, poprawiamy i ulepszamy nowy interfejs API. W programie NuGet 3.0 RC to nowe źródło pakietów oparte na interfejsie API v3 zastąpi źródło pakietów 'nuget.org' 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:

  1. Współpracujemy z zespołami Visual Studio i MSBuild, aby głębiej zintegrować NuGet z platformą.
  2. Pracujemy nad porzuceniem konwencji stosowanych podczas instalacji pakietów i zamiast tego wprowadzamy te konwencje podczas pakowania, tworząc nowy „autorytatywny” manifest pakietu.
  3. 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.
  4. 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.

Bądźcie z nami

Zwróć uwagę na nasz blog , aby uzyskać więcej postępów i anonsów dla NuGet 3.0!