Informacje o wersji narzędzia NuGet 2.0
Informacje o wersji | narzędzia NuGet 1.8 NuGet 2.1
NuGet 2.0 został wydany 19 czerwca 2012 r.
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".
Zgodnie z opisem w tym wpisie na temat zgody na przywracanie pakietu nuGet 2.0 będzie teraz wymagać wyrażenia zgody na włączenie przywracania pakietów w trybie online i pobieranie pakietów. Upewnij się, że udzielono zgody za pośrednictwem okna dialogowego konfiguracji menedżera pakietów lub zmiennej środowiskowej EnableNuGetPackageRestore.
Począwszy od wersji 2.0, zależności pakietów mogą się różnić w zależności od profilu struktury projektu docelowego. Jest to realizowane przy użyciu zaktualizowanego .nuspec
schematu. Element <dependencies>
może teraz zawierać zestaw <group>
elementów. Każda grupa zawiera zero lub więcej <dependency>
elementów i targetFramework
atrybut. Wszystkie zależności wewnątrz grupy są instalowane razem, jeśli platforma docelowa jest zgodna z docelowym profilem struktury projektu. Na przykład:
<dependencies>
<group>
<dependency id="RouteMagic" version="1.1.0" />
</group>
<group targetFramework="net40">
<dependency id="jQuery" />
<dependency id="WebActivator" />
</group>
<group targetFramework="sl30">
</group>
</dependencies>
Należy pamiętać, że grupa może zawierać zerowe zależności. W powyższym przykładzie, jeśli pakiet jest zainstalowany w projekcie przeznaczonym dla programu Silverlight 3.0 lub nowszego, nie zostaną zainstalowane żadne zależności. Jeśli pakiet jest zainstalowany w projekcie przeznaczonym dla platformy .NET 4.0 lub nowszej, zostaną zainstalowane dwie zależności, jQuery i WebActivator. Jeśli pakiet zostanie zainstalowany w projekcie przeznaczonym dla wczesnej wersji tych 2 struktur lub dowolnej innej platformy, zostanie zainstalowana usługa RouteMagic 1.1.0. Nie ma dziedziczenia między grupami. Jeśli struktura docelowa projektu jest zgodna z targetFramework
atrybutem grupy, zostaną zainstalowane tylko zależności w ramach tej grupy.
Pakiet może określać zależności pakietów w jednym z dwóch formatów: stary format płaskiej <dependency>
listy elementów lub grup. <group>
Jeśli jest używany format, nie można zainstalować pakietu w wersjach nuGet wcześniejszych niż 2.0.
Należy pamiętać, że mieszanie dwóch formatów jest niedozwolone. Na przykład poniższy fragment kodu jest nieprawidłowy i zostanie odrzucony przez narzędzie NuGet.
<dependencies>
<dependency id="jQuery" />
<dependency id="WebActivator" />
<group>
<dependency id="RouteMagic" version="1.1.0" />
</group>
</dependencies>
Oprócz odwołań do zestawów pliki zawartości i skrypty programu PowerShell można również grupować według platformy docelowej. Ta sama struktura folderów znaleziona w folderze lib
służącym do określania struktury docelowej może być teraz stosowana w taki sam sposób jak w folderach content
i tools
. Na przykład:
\content
\net11
\MyContent.txt
\net20
\MyContent20.txt
\net40
\sl40
\MySilverlightContent.html
\tools
\init.ps1
\net40
\install.ps1
\uninstall.ps1
\sl40
\install.ps1
\uninstall.ps1
Uwaga: ponieważ init.ps1
jest wykonywany na poziomie rozwiązania i nie jest zależny od żadnego pojedynczego projektu, należy umieścić go bezpośrednio w folderze tools
. Jeśli zostanie on umieszczony w folderze specyficznym dla platformy, zostanie zignorowany.
Ponadto nowa funkcja w programie NuGet 2.0 polega na tym, że folder struktury może być pusty, w takim przypadku Pakiet NuGet nie doda odwołań do zestawu, nie doda plików zawartości ani uruchomi skryptów programu PowerShell dla określonej wersji struktury. W powyższym przykładzie folder content\net40
jest pusty.
Funkcja uzupełniania kart w konsoli Menedżer pakietów NuGet została zaktualizowana w celu znacznego zwiększenia wydajności. Po naciśnięciu klawisza tabulatora będzie znacznie mniejsze opóźnienie do momentu wyświetlenia listy rozwijanej sugestii.
Pakiet NuGet 2.0 zawiera wiele poprawek błędów z naciskiem na zgodę i wydajność przywracania pakietu.
Aby uzyskać pełną listę elementów roboczych stałych w programie NuGet 2.0, 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%202.0&assignedTo=All&component=All&sortField=Votes&sortDirection=Descending&page=0)
.