Przeczytaj w języku angielskim

Udostępnij za pośrednictwem


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.

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

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.

Grupowanie zależności według platform docelowych

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>

Grupowanie plików zawartości i skryptów programu PowerShell według platformy docelowej

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.

Ulepszona wydajność uzupełniania kart

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.

Poprawki błędów

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