Zpráva k vydání verze NuGet 1.4
Zpráva k vydání verze NuGet 1.3 – zpráva | k vydání verze NuGet 1.5
NuGet 1.4 byl vydán 17. června 2011.
NuGet 1.4 přináší spoustu vylepšení příkazu Update-Package, což usnadňuje zachování balíčků ve stejné verzi ve více projektech v řešení. Například při upgradu balíčku na nejnovější verzi je velmi běžné chtít, aby se všechny projekty s tímto balíčkem instalované aktualizovaly na stejnou verzi.
Tento Update-Package
příkaz teď usnadňuje:
Update-Package -Project MvcApplication1
Update-Package PackageId
Update-Package
Příznak -Safe
omezuje upgrade jenom na verze se stejnou součástí hlavní verze a podverze. Pokud je například nainstalována verze 1.0.0 balíčku a verze 1.0.1, 1.0.2 a 1.1 jsou v informačním kanálu k dispozici, -Safe
příznak aktualizuje balíček na 1.0.2. Upgrade bez příznaku -Safe
by balíček upgradoval na nejnovější verzi 1.1.
Update-Package -Safe
Před NuGetem 1.4 byla instalace balíčku do více projektů těžkopádná pomocí dialogového okna. Pro každý projekt bylo nutné spustit dialogové okno jednou.
NuGet 1.4 přidává podporu pro instalaci, odinstalaci nebo aktualizaci balíčků ve více projektech najednou. Jednoduše spusťte kliknutím pravým tlačítkem na řešení a výběrem možnosti Nabídky Spravovat balíčky NuGet.
Všimněte si, že v záhlaví dialogového okna se zobrazí název řešení, nikoli název projektu. Operace balíčků teď poskytují seznam zaškrtávacích políček se seznamem projektů, na které by se operace měla použít.
Další podrobnosti najdete v tématu o správě balíčků pro řešení.
Ve výchozím nastavení se při spuštění Update-Package
příkazu v balíčku (nebo aktualizaci balíčku pomocí dialogového okna) aktualizuje na nejnovější verzi informačního kanálu. S novou podporou aktualizace všech balíčků mohou existovat případy, kdy chcete uzamknout balíček do konkrétního rozsahu verzí. Můžete například předem vědět, že vaše aplikace bude fungovat pouze s verzí 2.* balíčku, ale ne s verzí 3.0 a vyšší. Aby se zabránilo náhodné aktualizaci balíčku na verzi 3, přidává NuGet 1.4 podporu omezení rozsahu verzí, na které lze balíčky upgradovat ručně packages.config
úpravou souboru pomocí nového allowedVersions
atributu.
Například následující příklad ukazuje, jak uzamknout SomePackage
balíček rozsah verze 2.0 – 3.0 (exkluzivní).
Atribut allowedVersions
přijímá hodnoty ve formátu rozsahu verzí.
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="SomePackage" version="2.1.0" allowedVersions="[2.0, 3.0)" />
</packages>
Všimněte si, že ve verzi 1.4 musí být uzamčení balíčku do konkrétního rozsahu verzí ručně upraveno. V NuGetu 1.5 plánujeme přidat podporu pro umístění tohoto rozsahu Install-Package
prostřednictvím příkazu.
Nový vizualizér balíčků, který se spustil prostřednictvím nabídky Tools ->Library Správce balíčků ->Package Visualizer, umožňuje snadno vizualizovat všechny projekty a jejich závislosti balíčků v rámci řešení.
Důležitá poznámka: Tato funkce využívá podporu DGML v sadě Visual Studio. Vytvoření vizualizace je podporováno pouze v sadě Visual Studio Ultimate. Zobrazení diagramu DGML je podporováno pouze v sadě Visual Studio Premium nebo vyšší.
Některé verze NuGetu představují nové funkce vyjádřené prostřednictvím .nuspec
souboru, kterým starší verze dialogového okna NuGet nerozumí.
Jedním z příkladů je úvod do NuGetu 1.4 pro určení sestavení architektury.
Z tohoto důvodu je důležité použít nejnovější verzi NuGetu, abyste měli jistotu, že můžete používat balíčky, které využívají nejnovější funkce.
Aby byly aktualizace NuGet viditelné, dialogové okno NuGet obsahuje logiku, která se zvýrazní, když je k dispozici novější verze.
Poznámka: Kontrola se provede pouze v případě, že byla v aktuální relaci vybrána karta Online .
Pokud chcete automatickou kontrolu aktualizací vypnout, přejděte do dialogového okna nastavení NuGet a zrušte zaškrtnutí políčka Automaticky vyhledat aktualizace.
Tato funkce byla ve skutečnosti přidána do NuGetu 1.3, ale nebyla samozřejmě viditelná, dokud nebyla dostupná aktualizace na verzi 1.3, například NuGet 1.4.
- Vylepšené názvy nabídek: Možnosti nabídky pro otevření dialogového okna byly přejmenovány pro přehlednost. Možnost nabídky je nyní Spravovat balíčky NuGet.
- V podokně podrobností se zobrazuje datum poslední aktualizace: Dialogové okno NuGet zobrazuje datum poslední aktualizace v podokně podrobností balíčku, když je vybrána karta Online nebo Aktualizace.
- Seznam zobrazených značek: Dialogové okno NuGet zobrazuje značky.
- Podepsané skripty PowerShellu: NuGet obsahuje podepsané skripty PowerShellu, které umožňují použití v více omezujících prostředích.
- Podpora výzvy: Konzola Správce balíčků teď podporuje zobrazování výzev prostřednictvím
$host.ui.Prompt
příkazů a$host.ui.PromptForChoice
příkazů. - Názvy zdrojů balíčků: Zadání názvu zdroje balíčku se podporuje při zadávání zdroje balíčku pomocí příznaku
-Source
.
- Vlastní příkazy NuGet: nuget.exe je rozšiřitelný prostřednictvím vlastních příkazů pomocí MEF.
- Jednodušší pracovní postup pro vytváření balíčků symbolů: Příznak
-Symbols
lze použít pro normální strukturu složek založenou na konvenci a vytvořit balíček symbolů pouze zahrnutím zdroje a.pdb
souborů v rámci složky. - Zadání více zdrojů: Příkaz
NuGet install
podporuje zadávání více zdrojů pomocí středníků jako oddělovače nebo-Source
zadáním vícekrát. - Podpora ověřování proxy serveru: NuGet 1.4 přidává podporu pro zobrazení výzvy k zadání přihlašovacích údajů uživatele při použití NuGetu za proxy serverem, který vyžaduje ověření.
- nuget.exe Změna způsobující chybu aktualizace: Příznak
-Self
se teď vyžaduje, aby se nuget.exe aktualizoval sám.nuget.exe Update
nyní přebírá cestu kpackages.config
souboru a pokusí se aktualizovat balíčky. Upozorňujeme, že tato aktualizace je omezená v tom, že nebude: ** Aktualizovat, přidat, odebrat obsah v souboru projektu. ** Spusťte skripty PowerShellu v rámci balíčku.
NuGet zahrnuje jednoduchý způsob hostování zjednodušeného webového úložiště NuGet prostřednictvím NuGet.Server
balíčku NuGet. U NuGetu 1.4 podporuje jednoduchý server nabízení a odstraňování balíčků pomocí nuget.exe.
Nejnovější verze NuGet.Server
přidá novou appSetting
, pojmenovanou apiKey
. Pokud je klíč vynechán nebo ponechán prázdný, je nabízení balíčků do informačního kanálu zakázané. Nastavení apiKey na hodnotu (ideálně silné heslo) umožňuje nabízení balíčků pomocí 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>
NuGet je nyní podporován v kandidátské verzi Windows Telefon Tools for Mango. Nástroje windows Telefon v současné době nepodporují správce rozšíření sady Visual Studio, takže k instalaci Nástroje NuGet pro Windows Telefon Tools možná budete muset stáhnout a spustit VSIX ručně.
Pokud chcete odinstalovat NuGet pro nástroje windows Telefon, spusťte následující příkaz.
vsixinstaller.exe /uninstall:NuPackToolsVsix.Microsoft.67e54e40-0ae3-42c5-a949-fddf5739e7a5
NuGet 1.4 obsahoval celkem 88 pracovních položek. 71 z nich bylo označeno jako chyby.
Úplný seznam pracovních položek opravených v NuGetu 1.4 najdete v souboru [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)
.
[Issue 603](http://nuget.codeplex.com/workitem/603)
: Při zadávání konkrétního zdroje balíčku se správně přeloží závislosti balíčků v různých úložištích.[Issue 1036](http://nuget.codeplex.com/workitem/1036)
: PřidáníNuGet Pack SomeProject.csproj
do události po sestavení už nezpůsobí nekonečnou smyčku.[Issue 961](http://nuget.codeplex.com/workitem/961)
:-Source
Příznak podporuje relativní cesty.
Krátce po vydání NuGetu 1.4 jsme našli několik problémů, které byly důležité opravit. Konkrétní číslo verze této aktualizace na verzi 1.4 je 1.4.20615.9020.
[Issue 1220](http://nuget.codeplex.com/workitem/1220)
: Balíček aktualizace se nespustíinstall.ps1
/uninstall.ps1
ve všech projektech, pokud je více než jeden projekt.[Issue 1156](http://nuget.codeplex.com/workitem/1156)
: Správce balíčků Consol se zasekl na W2K3/XP (pokud není nainstalovaný PowerShell 2)