Przeczytaj w języku angielskim

Udostępnij za pośrednictwem


Informacje o wersji narzędzia NuGet 1.8

Informacje o wersji | narzędzia NuGet 1.7 NuGet 2.0

NuGet 1.8 został wydany 23 maja 2012 r.

Znany problem z instalacją

Jeśli korzystasz z programu VS 2010 z dodatkiem SP1, może wystąpić błąd instalacji podczas próby uaktualnienia pakietu NuGet, jeśli masz zainstalowaną starszą wersję.

Obejściem jest po prostu odinstalowanie narzędzia NuGet, a następnie zainstalowanie go z galerii rozszerzeń programu VS. Zobacz https://support.microsoft.com/kb/2581019 , aby uzyskać więcej informacji, lub przejdź bezpośrednio do poprawki programu VS.

Uwaga: jeśli program Visual Studio nie zezwoli na odinstalowanie rozszerzenia (przycisk Odinstaluj jest wyłączony), prawdopodobnie musisz ponownie uruchomić program Visual Studio przy użyciu polecenia "Uruchom jako Administracja istrator".

NuGet 1.8 Niezgodne z systemem Windows XP, opublikowana poprawka

Wkrótce po wydaniu pakietu NuGet 1.8 dowiedzieliśmy się, że zmiana kryptografii w wersji 1.8 złamała użytkowników w systemie Windows XP.

Od tego czasu wydaliśmy poprawkę, która rozwiązuje ten problem. Aktualizując pakiet NuGet za pośrednictwem galerii rozszerzeń programu Visual Studio, otrzymasz tę poprawkę.

Funkcje

Pakiety satelitarne dla zlokalizowanych zasobów

Program NuGet 1.8 obsługuje teraz możliwość tworzenia oddzielnych pakietów dla zlokalizowanych zasobów, podobnie jak w przypadku możliwości zestawu satelitarnego programu .NET Framework. Pakiet satelitarny jest tworzony w taki sam sposób, jak każdy inny pakiet NuGet z dodatkiem kilku konwencji:

  • Identyfikator pakietu satelitarnego i nazwa pliku powinny zawierać sufiks zgodny z jednym ze standardowych ciągów kultury używanych przez program .NET Framework.
  • W pliku .nuspec pakiet satelitarny powinien zdefiniować element języka z tym samym ciągiem kultury używanym w identyfikatorze
  • Pakiet satelitarny powinien zdefiniować zależność w pliku .nuspec do jego pakietu podstawowego, który jest po prostu pakietem o tym samym identyfikatorze minus sufiks języka. Pakiet podstawowy musi być dostępny w repozytorium w celu pomyślnej instalacji.

Aby zainstalować pakiet z zlokalizowanymi zasobami, deweloper jawnie wybiera zlokalizowany pakiet z repozytorium. Obecnie galeria NuGet nie daje żadnego rodzaju specjalnego traktowania pakietom satelitarnym.

Package manager dialog with localized pacakges

Ponieważ pakiet satelitarny wyświetla zależność do jego pakietu podstawowego, zarówno pakiety satelitarne, jak i podstawowe są pobierane do folderu pakietów NuGet i instalowane.

Packages folder with localized packages

Ponadto podczas instalowania pakietu satelitarnego NuGet rozpoznaje również konwencję nazewnictwa ciągów kultury, a następnie kopiuje zlokalizowany zestaw zasobów do poprawnego podfolderu w pakiecie podstawowym, aby można było go wybrać przez program .NET Framework.

Core package folder with copied resource folder

Jedną z istniejących usterek do zanotowania pakietów satelitarnych jest to, że Pakiet NuGet nie kopiuje zlokalizowanych zasobów do bin folderu dla projektów witryn sieci Web. Ten problem zostanie rozwiązany w następnej wersji narzędzia NuGet.

Aby zapoznać się z kompletnym przykładem pokazującym sposób tworzenia i używania pakietów satelitarnych, zobacz https://github.com/NuGet/SatellitePackageSample.

W rozwiązaniu NuGet 1.8 ułożyliśmy podstawy do obsługi ważnego ograniczenia dotyczącego przywracania pakietów w celu ochrony prywatności użytkowników. To ograniczenie wymaga od deweloperów tworzenia projektów i rozwiązań korzystających z przywracania pakietów, aby jawnie wyrazić zgodę na przejście do trybu online przywracania pakietów w celu pobrania pakietów ze skonfigurowanych źródeł pakietów.

Istnieje 2 sposoby udzielenia tej zgody. Pierwszy można znaleźć w oknie dialogowym konfiguracji menedżera pakietów, jak pokazano poniżej. Ta metoda jest przeznaczona głównie dla maszyn deweloperskich.

Package manager configuration dialog

Drugą metodą jest ustawienie zmiennej środowiskowej "EnableNuGetPackageRestore" na wartość "true". Ta metoda jest przeznaczona dla nienadzorowanych maszyn, takich jak ciągła integracja lub serwery kompilacji.

Teraz, jak wspomniano powyżej, ułożyliśmy tylko podstawy tej funkcji w NuGet 1.8. Praktycznie oznacza to, że chociaż dodaliśmy całą logikę umożliwiającą włączenie tej funkcji, nie jest ona obecnie wymuszana w tej wersji. Zostanie ona jednak włączona w następnej wersji narzędzia NuGet, dlatego chcemy jak najszybciej poinformować Cię o tym, aby można było odpowiednio skonfigurować środowiska i dlatego nie będzie to miało wpływu na rozpoczęcie wymuszania ograniczenia zgody.

Aby uzyskać więcej informacji, zobacz wpis w blogu zespołu na temat tej funkcji.

ulepszenia wydajności nuget.exe

Modyfikując polecenie instalacji w celu równoległego pobierania i instalowania pakietów, pakiet NuGet 1.8 zapewnia znaczne ulepszenia wydajności nuget.exe — i przez przywracanie pakietów rozszerzeń. Testowanie wysokiego poziomu pokazuje, że wydajność instalowania 6 pakietów w projekcie zwiększa się o około 35% w rozwiązaniu NuGet 1.8. Zwiększenie liczby pakietów do 25 pokazuje wzrost wydajności o około 60%.

Poprawki błędów

Pakiet NuGet 1.8 zawiera sporo poprawek błędów z naciskiem na konsolę menedżera pakietów i przepływ pracy przywracania pakietów, szczególnie w odniesieniu do zgody na przywracanie pakietów i integracji z systemem Windows 8 Express. Aby uzyskać pełną listę elementów roboczych stałych w programie NuGet 1.8, wyświetl element [NuGet Issue Tracker for this release](http://nuget.codeplex.com/workitem/list/advanced?keyword=&status=Closed&type=All&priority=All&release=NuGet%201.8&assignedTo=All&component=All&sortField=Votes&sortDirection=Descending&page=0).