Udostępnij przez


Informacje o wydaniu NuGet 1.4

Informacje o | Informacje o wersji narzędzia NuGet 1.5

NuGet 1.4 został wydany 17 czerwca 2011 r.

Funkcje

Ulepszenia pakietu aktualizacji

NuGet 1.4 wprowadza wiele ulepszeń polecenia Update-Package, co ułatwia przechowywanie pakietów w tej samej wersji w wielu projektach w rozwiązaniu. Na przykład podczas uaktualniania pakietu do najnowszej wersji bardzo często zaleca się zaktualizowanie wszystkich projektów z zainstalowanym pakietem do tej samej weryfikacji.

Polecenie Update-Package ułatwia teraz:

Aktualizowanie wszystkich pakietów w jednym projekcie

Update-Package -Project MvcApplication1

Aktualizacja pakietu we wszystkich projektach

Update-Package PackageId

Aktualizowanie wszystkich pakietów we wszystkich projektach

Update-Package

Przeprowadzanie "bezpiecznej" aktualizacji we wszystkich pakietach

Flaga -Safe ogranicza uaktualnienia tylko do wersji z tym samym składnikiem wersji głównej i pomocniczej. Jeśli na przykład jest zainstalowana wersja 1.0.0 pakietu, a wersje 1.0.1, 1.0.2 i 1.1 są dostępne w kanale informacyjnym, -Safe flaga aktualizuje pakiet do wersji 1.0.2. Uaktualnienie bez -Safe flagi spowoduje uaktualnienie pakietu do najnowszej wersji 1.1.

Update-Package -Safe

Zarządzanie pakietami na poziomie rozwiązania

Przed nuGet 1.4 instalowanie pakietu w wielu projektach było kłopotliwe przy użyciu okna dialogowego. Wymagane jest uruchomienie okna dialogowego raz na projekt.

NuGet 1.4 dodaje obsługę instalowania/odinstalowywania/aktualizowania pakietów w wielu projektach jednocześnie. Po prostu kliknij prawym przyciskiem myszy na Solucję i wybierz z menu opcję Zarządzaj pakietami NuGet.

Okno dialogowe Zarządzanie pakietami NuGet na poziomie rozwiązania

Zwróć uwagę, że na pasku tytułu okna dialogowego wyświetlana jest nazwa rozwiązania, a nie nazwa projektu. Operacje na pakietach udostępniają teraz listę pól wyboru z listą projektów, do których powinna zostać zastosowana operacja.

Zarządzanie wyborem projektów pakietów NuGet

Aby uzyskać więcej informacji, zobacz temat Zarządzanie pakietami dla rozwiązania.

Ograniczanie uaktualnień do dozwolonych wersji

Domyślnie, podczas uruchamiania polecenia Update-Package na pakiecie (lub aktualizowania pakietu za pomocą okna dialogowego), zostanie on zaktualizowany do najnowszej wersji w repozytorium. Dzięki nowej obsłudze aktualizowania wszystkich pakietów mogą istnieć przypadki, w których chcesz zablokować pakiet do określonego zakresu wersji. Na przykład możesz wiedzieć z wyprzedzeniem, że aplikacja będzie działać tylko z wersją 2.* pakietu, ale nie w wersji 3.0 lub nowszej. Aby zapobiec przypadkowemu zaktualizowaniu pakietu do wersji 3, pakiet NuGet 1.4 dodaje obsługę ograniczania zakresu wersji, do których można uaktualnić pakiety, ręcznie edytując packages.config plik przy użyciu nowego allowedVersions atrybutu.

Na przykład w poniższym przykładzie pokazano, jak zablokować SomePackage pakiet w zakresie wersji 2.0 –3.0 (wyłączność). Atrybut allowedVersions akceptuje wartości przy użyciu formatu zakresu wersji.

<?xml version="1.0" encoding="utf-8"?>
<packages>
    <package id="SomePackage" version="2.1.0" allowedVersions="[2.0, 3.0)" />
</packages>

Należy pamiętać, że w wersji 1.4 blokowanie pakietu do określonego zakresu wersji musi być ręcznie edytowane. W programie NuGet 1.5 planujemy dodać obsługę umieszczania tego zakresu za pomocą Install-Package polecenia .

Wizualizator pakietów

Nowy wizualizator pakietów uruchomiony za pośrednictwem opcji menu Narzędzia ->Menedżer pakietów biblioteki ->Package Visualizer umożliwia łatwe wizualizowanie wszystkich projektów i ich zależności pakietów w ramach rozwiązania.

Ważna uwaga: Ta funkcja korzysta z obsługi DGML w programie Visual Studio. Tworzenie wizualizacji jest obsługiwane tylko w programie Visual Studio Ultimate. Wyświetlanie diagramu DGML jest obsługiwane tylko w programie Visual Studio Premium lub nowszym.

Wizualizator pakietów

Automatyczne sprawdzanie aktualizacji okna dialogowego NuGet

Niektóre wersje narzędzia NuGet wprowadzają nowe funkcje wyrażone za pośrednictwem .nuspec pliku, które nie są zrozumiałe dla starszych wersji okna dialogowego NuGet. Jednym z przykładów jest wprowadzenie w programie NuGet 1.4 do określania zestawów struktury. W związku z tym ważne jest użycie najnowszej wersji pakietu NuGet, aby upewnić się, że możesz korzystać z pakietów korzystających z najnowszych funkcji. Aby zwiększyć widoczność aktualizacji pakietu NuGet, okno dialogowe NuGet zawiera logikę wyróżniania, gdy jest dostępna nowsza wersja.

Uwaga: sprawdzanie jest wykonywane tylko wtedy, gdy karta Online została wybrana w bieżącej sesji.

Okno dialogowe Zarządzanie pakietami NuGet z dostępną nową wersją

Aby wyłączyć automatyczne sprawdzanie dostępności aktualizacji, przejdź do okna dialogowego Ustawienia NuGet i usuń zaznaczenie pola wyboru Automatycznie sprawdź dostępność aktualizacji.

Ustawienia narzędzia NuGet

Ta funkcja została rzeczywiście dodana w programie NuGet 1.3, ale nie będzie widoczna, oczywiście do momentu udostępnienia aktualizacji do wersji 1.3, takiej jak NuGet 1.4.

Ulepszenia okna dialogowego Menedżera pakietów

  • Ulepszono nazwy menu: opcje menu umożliwiające uruchomienie okna dialogowego zostały zmienione w celu zapewnienia przejrzystości. Opcja menu to teraz Zarządzanie pakietami NuGet.
  • Okienko Szczegółów zawiera najnowszą datę aktualizacji: okno dialogowe NuGet wyświetla datę najnowszej aktualizacji w okienku szczegółów pakietu po wybraniu karty Online lub Aktualizacje .
  • Wyświetlona lista tagów: w oknie dialogowym Nuget są wyświetlane tagi.

Ulepszenia programu PowerShell

  • Podpisane skrypty programu PowerShell: Pakiet NuGet zawiera podpisane skrypty programu PowerShell umożliwiające użycie w bardziej restrykcyjnych środowiskach.
  • Obsługa monitowania: Konsola Menedżera Pakietów obsługuje teraz monity za pośrednictwem poleceń $host.ui.Prompt i $host.ui.PromptForChoice.
  • Nazwy źródłowych pakietów: podanie nazwy źródła pakietu jest obsługiwane podczas określania źródła pakietu przy użyciu flagi -Source .

ulepszenia wiersza polecenia nuget.exe

  • Polecenia niestandardowe NuGet: nuget.exe można rozszerzać za pomocą poleceń niestandardowych przy użyciu narzędzia MEF.
  • Prostszy przepływ pracy tworzenia pakietów symboli: flaga -Symbols może być stosowana do normalnej struktury folderów opartych na konwencji, tworząc pakiet symboli tylko przez dołączenie źródła i .pdb plików w folderze.
  • Określanie wielu źródeł: NuGet install polecenie obsługuje określanie wielu źródeł przy użyciu średników jako ogranicznika lub przez wielokrotne określanie -Source .
  • Obsługa uwierzytelniania serwera proxy: pakiet NuGet 1.4 dodaje obsługę monitowania o poświadczenia użytkownika podczas korzystania z narzędzia NuGet za serwerem proxy, który wymaga uwierzytelniania.
  • nuget.exe zmiana niekompatybilna: teraz wymagana jest flaga -Self do zaktualizowania samego nuget.exe. nuget.exe Update teraz przyjmuje ścieżkę do pliku packages.config i spróbuje zaktualizować pakiety. Należy pamiętać, że ta aktualizacja jest ograniczona, ponieważ nie będzie: ** Aktualizuj, dodaj, usuń zawartość w pliku projektu. ** Uruchom skrypty programu PowerShell w pakiecie.

Obsługa serwera NuGet na potrzeby wypychania pakietów przy użyciu nuget.exe

Pakiet NuGet zawiera prosty sposób hostowania uproszczonego internetowego repozytorium NuGet za pośrednictwem NuGet.Server pakietu NuGet. W przypadku programu NuGet 1.4 lekki serwer obsługuje wypychanie i usuwanie pakietów przy użyciu nuget.exe. Najnowsza wersja programu NuGet.Server dodaje nowy appSettingelement o nazwie apiKey. Gdy klucz zostanie pominięty lub pozostawiony pusty, przesyłanie pakietów do kanału jest wyłączone. Ustawienie wartości apiKey na silne i bezpieczne hasło umożliwia wysyłanie pakietów przy użyciu nuget.exe.

<appSettings>
    <!-- Set the value here to allow people to push/delete packages from the server.
            NOTE: This is a shared key (password) for all users. -->
    <add key="apiKey" value="" />
</appSettings>

Obsługa systemu Windows Phone Tools Mango Edition

Pakiet NuGet jest teraz obsługiwany w wersji kandydującej oprogramowania Windows Phone Tools for Mango. Obecnie narzędzia Windows Phone Tools nie obsługują menedżera rozszerzeń programu Visual Studio, dlatego w celu zainstalowania narzędzia NuGet dla systemu Windows Phone może być konieczne pobranie i uruchomienie programu VSIX ręcznie.

Aby odinstalować narzędzie NuGet dla narzędzi Windows Phone Tools, uruchom następujące polecenie.

vsixinstaller.exe /uninstall:NuPackToolsVsix.Microsoft.67e54e40-0ae3-42c5-a949-fddf5739e7a5

Poprawki błędów

W NuGet 1.4 naprawiono w sumie 88 zadań. 71 z nich zostało oznaczonych jako usterki.

Aby uzyskać pełną listę naprawionych elementów roboczych w programie NuGet 1.4, zobacz [NuGet Issue Tracker for this release](http://nuget.codeplex.com/workitem/list/advanced?keyword=&status=All&type=All&priority=All&release=NuGet%201.4&assignedTo=All&component=All&sortField=LastUpdatedDate&sortDirection=Descending&page=0).

Poprawki błędów, które warto zauważyć:

  • [Issue 603](http://nuget.codeplex.com/workitem/603): Zależności pakietów w różnych repozytoriach są rozpoznawane prawidłowo przy wskazaniu określonego źródła pakietu.
  • [Issue 1036](http://nuget.codeplex.com/workitem/1036): Dodanie NuGet Pack SomeProject.csproj do zdarzenia po kompilacji nie powoduje już nieskończonej pętli.
  • [Issue 961](http://nuget.codeplex.com/workitem/961): Flaga -Source obsługuje ścieżki względne.

Aktualizacja NuGet 1.4

Wkrótce po wydaniu pakietu NuGet 1.4 znaleźliśmy kilka problemów, które były ważne do rozwiązania. Określony numer wersji tej aktualizacji do wersji 1.4 to 1.4.20615.9020.

Poprawki błędów

  • [Issue 1220](http://nuget.codeplex.com/workitem/1220): Update-Package nie jest wykonywana install.ps1/uninstall.ps1 we wszystkich projektach, gdy istnieje więcej niż jeden projekt
  • [Issue 1156](http://nuget.codeplex.com/workitem/1156): Menedżer pakietów Consol zablokowany na W2K3/XP (gdy program PowerShell 2 nie jest zainstalowany)