Vyhledání a vyhodnocení balíčků NuGet pro váš projekt

Když spustíte projekt .NET nebo identifikujete funkční potřebu ve vaší aplikaci nebo službě, můžete často nainstalovat existující balíčky NuGet, abyste ušetřili čas a potíže při vytváření vlastních balíčků. Existující balíčky můžou pocházet z nuget.org veřejné kolekce nebo ze soukromých zdrojů, které vaše organizace nebo jiná strana poskytují.

Vyhledání balíčků

Balíčky najdete přímo v https://nuget.org/packagesuživatelském rozhraní sady Visual Studio Správce balíčků nebo v konzole Správce balíčků s nuget.org jako zdrojem. Všechny balíčky z nuget.org se pravidelně prohledávají viry.

V nuget.org/packages uvidíte seznam balíčků NuGet s nejoblíbenějšími balíčky ve všech projektech .NET uvedených jako první. Některé z těchto balíčků můžou být užitečné pro vaše projekty.

Screenshot that shows the default view of nuget.org/packages with the most popular packages at the top.

Chcete-li vyhledat balíček, zadejte název balíčku nebo hledané výrazy do vyhledávacího pole v horní části stránky. K filtrování hledání můžete použít pokročilou syntaxi vyhledávání.

Rozšířené filtrování a řazení

V nuget.org/packages můžete výsledky hledání upřesnit pomocí rozšířených možností filtrování a řazení.

Screenshot that shows the filtering and sorting options on nuget.org.

Pomocí filtrů Rozhraní můžete zobrazit balíčky, které cílí na konkrétní architektury .NET (Další informace najdete v tématu Cílové architektury):

  • Když vyberete jedno z políček generování rozhraní .NET Framework, vyfiltruje se výsledky hledání tak, aby byly balíčky kompatibilní s libovolnou jednotlivými cílovými rozhraními v rámci této generace. Pokud například vyberete .NET , vrátí se balíčky kompatibilní s některou z moderních rozhraní .NET, včetně net5.0 rozhraní net8.0.

    Screenshot that shows the Framework filters on nuget.org.

  • Rozšíření jedné z těchto generací architektury pomocí šipek vpravo vám ukáže jednotlivé cílové architektury Monikers (TFM), podle kterého můžete filtrovat výsledky. Pokud například vyberete net5.0 , vrátí se balíčky kompatibilní s architekturou .NET 5.0.

  • Ve výchozím nastavení se balíčky filtrují podle rozšířeného seznamu počítaných kompatibilních architektur. Pokud chcete filtrovat balíčky čistě podle architektur prostředků, které explicitně cílí, zrušte zaškrtnutí políčka Zahrnout kompatibilní architektury .

  • Kombinace více filtrů architektury zobrazí výsledky hledání, které odpovídají všem vybraným filtrům, tj. balíčkům, které spadají do průniku vybraných výběrů. Například při netcoreapp3.1 výběru a net45 spojení se zobrazí balíčky, které cílí na .NET Core 3.1 i .NET Framework 4.5. Zaškrtnutím .NET Core políčka generování architektury a net45 zaškrtávacím políčkam se vrátí balíčky, které cílí na .NET Framework 4.5, a alespoň jeden z TFM .NET Core (netcoreapp1.0 prostřednictvím netcoreapp3.1).

    • Případně pokud chcete zobrazit balíčky odpovídající některému z filtrů architektury, vyberte přepínač Jakýkoli přepínač v režimu filtru rozhraní. netcoreapp3.1 Výběr a net5.0 zobrazení balíčků, které cílí buď na .NET Core 3.1, nebo .NET 5.0. Zaškrtnutím netcoreapp3.1 políčka a .NET zaškrtávacím políčkam pro generování architektury se vrátí balíčky, které cílí na .NET Core 3.1 nebo kterýkoli z těchto balíčků. NET TFM (net5.0 prostřednictvím net8.0).
  • Další informace o tom, jak vyhodnotit podporované architektury balíčku a jeho kompatibilitu s projektem , najdete tady.

Pomocí filtru typ balíčku zobrazíte balíčky určitého typu:

  • Všechny typy jsou výchozí a zobrazují všechny balíčky bez ohledu na typ.
  • Filtry závislostí na běžné balíčky NuGet, které můžete nainstalovat do projektu.
  • Nástroje .NET filtrují balíčky nástrojů .NET, které obsahují konzolové aplikace.
  • Filtry šablon na šablony .NET, které můžete použít k vytvoření nových projektů pomocí příkazu dotnet new.

Ve výchozím nastavení Obsahuje NuGet seznam všech verzí balíčků, včetně předběžné verze a beta verze. V části Možnosti zrušte zaškrtnutí políčka Zahrnout předběžné verze, aby se vypisují pouze stabilní vydané verze balíčků.

Pokud chcete použít změny, vyberte Použít. Pokud se chcete vrátit k výchozím nastavením, vyberte Obnovit.

Pomocí rozevíracího seznamu Seřadit podle v pravém horním rohu stránky seznam seřaďte podle několika kritérií:

  • Relevance je výchozí hodnota a výsledky seřadí podle interního algoritmu bodování.
  • Položky ke stažení seřadí výsledky hledání podle celkového počtu stažení v sestupném pořadí.
  • Nedávno aktualizované výsledky hledání seřadí podle data vytvoření nejnovější verze balíčku v sestupném chronologickém pořadí.

Syntaxe služby Search

Dotazy pro vyhledávání balíčků v nuget.org, z rozhraní příkazového řádku NuGet a ze sady Visual Studio používají stejnou syntaxi. Jiné zdroje balíčků, jako jsou Azure Artifacts nebo úložiště GitHub Package, můžou používat jinou syntaxi nebo nemusí podporovat pokročilé filtrování.

  • Balíček , , tagsdescriptionauthorsummaryversionpackageidtitle, , nebo owner vlastnosti můžete vyhledat idpomocí syntaxe .<property>:<term>

  • Vyhledávání se vztahuje na klíčová slova a popisy a nerozlišuje velká a malá písmena. Například následující řetězce prohledávají id vlastnost řetězce nuget.core:

    id:NuGet.Core
    ID:nuget.core
    Id:NUGET.CORE

  • Vyhledá podřetěžce id vlastnosti, zatímco packageid a owner používá přesné shody nerozlišující malá a velká písmena. Příklad:

    PackageId:jquery hledá přesné ID jquerybalíčku .
    Id:jquery vyhledá všechna ID balíčků, která obsahují řetězec jquery.

  • Můžete vyhledat více hodnot nebo vlastností najednou. Příklad:

    id:jquery id:ui vyhledá více termínů ve id vlastnosti.
    id:jquery tags:validation vyhledá více vlastností.

  • Hledání ignoruje nepodporované vlastnosti, takže invalid:jquery ui je stejné jako hledání uia invalid:jquery vrací všechny balíčky.

Určení podporovaných architektur

NuGet nainstaluje balíček do projektu pouze v případě, že podporované architektury .NET balíčku zahrnují cílové architektury projektu. Pokud balíček není kompatibilní, NuGet vydá chybu.

Existuje několik způsobů, jak určit architektury, které balíček podporuje:

  • Na vyhledávací stránce se podporované architektury balíčku zobrazí jako odznáčky pod ID balíčku. Tyto odznáčky zobrazují nejnižší podporované verze rozhraní z generací rozhraní .NET, .NET Core, .NET Standard a .NET Framework . Balíček bude kompatibilní s libovolnou verzí architektury, která je rovna nebo vyšší než zobrazená verze odznáček.

    Odznáčky "Tmavě modrá" představují explicitně cílené architektury, zatímco "světle modré" odznáčky představují počítaná kompatibilní rozhraní.

    Kliknutím na odznáček vás přesměruje na stránku s podrobnostmi balíčku na nuget.org. Karta Architektury na stránce balíčku zobrazí úplný seznam podporovaných architektur.

    Screenshot of the Framework badges on nuget.org's search page.

  • Na stránce balíčku na nuget.org se podporované architektury zobrazují pod ID balíčku a na kartě Architektury , ale ne všechny balíčky zobrazují podporované architektury.

    Screenshot of the Frameworks UI and tab on the package page at nuget.org.

  • Stáhněte balíček ručně výběrem možnosti Stáhnout balíček v části O produktu. Změňte příponu souboru staženého balíčku z .nupkg na .zip, otevřete složku .zip a prozkoumejte její složku lib . Pro každou podporovanou architekturu existují podsložky, z nichž každý má název moniker cílové architektury (TFM). Další informace naleznete v tématu Cílové architektury. Pokud v knihovně nejsou žádné podsložky a existuje pouze jedna knihovna DLL, zkuste balíček nainstalovat a zjistit jeho kompatibilitu.

  • Zkuste balíček nainstalovat do projektu pomocí instalačního balíčku v konzole sady Visual Studio Správce balíčků. Pokud je balíček nekompatibilní, výstup konzoly zobrazí podporované architektury balíčku.

Předběžné verze balíčků

Mnoho autorů balíčků poskytuje verze Preview a beta verze, protože neustále vylepšují a hledají zpětnou vazbu k nejnovějším revizem. Ve výchozím nastavení nuget.org v seznamu balíčků a výsledcích hledání zobrazuje předběžné balíčky.

Seznam a vyhledávání pouze stabilních verzí:

  • V nuget.org zrušte zaškrtnutí políčka Zahrnout předběžné verze na panelu rozšířeného vyhledávání.
  • V Správce balíčků uživatelském rozhraní NuGet sady Visual Studio zrušte zaškrtnutí políčka Zahrnout předběžné verze vedle vyhledávacího pole.

Nástroje visual studio Správce balíčků konzoly, rozhraní příkazového řádku NuGet a rozhraní příkazového řádku dotnet ve výchozím nastavení nezahrnují předběžné verze. Zahrnutí předběžných verzí:

  • V konzole Správce balíčků použijte -IncludePrerelease přepínač s příkazy Find-Package, Get-Package, Install-Package, Sync-Packagea Update-Package příkazy. Další informace najdete v referenčních informacích k PowerShellu.

  • Pro rozhraní příkazového řádku NuGet použijte -prerelease přepínač s příkazy install, deleteupdate, a mirror příkazy. Další informace najdete v referenčních informacích k rozhraní příkazového řádku NuGet.

  • Pro rozhraní příkazového řádku dotnet zadejte předběžnou verzi s argumentem -v . Další informace naleznete v tématu dotnet add package reference.

Nativní balíčky C++

Projekty Visual Studio C++ mohou používat nativní balíčky NuGet jazyka C++. Instalace těchto balíčků umožňuje příkaz Spravovat balíčky NuGet v místní nabídce, zveřejňuje cílovou architekturu native a poskytuje integraci nástroje MSBuild.

Chcete-li najít nativní balíčky v nuget.org/packages, vyhledejte pomocí .tag:native Tyto balíčky obvykle poskytují soubory .targets a .props , které NuGet importuje automaticky při přidávání balíčků.

Vyhodnocení balíčků

Nejlepší způsob, jak vyhodnotit užitečnost balíčku, je vyzkoušet ho. Když balíček používáte, vezmete závislost, takže se musíte ujistit, že je robustní a spolehlivý. Instalace balíčku a přímé testování je ale časově náročné. Spoustu informací o kvalitě balíčku najdete na stránce balíčku na nuget.org/packages.

  • Zaškrtnutí rezervované předpony vedle ID balíčku v seznamu balíčků a stránka balíčku znamená, že vlastníci balíčků použili a získali předponu ID rezervovaného balíčku. Aby bylo možné splnit kritéria rezervace předpony ID, musí se vlastníci balíčků jasně identifikovat a jejich balíčky.

    Screenshot that shows Prefix Reserved on a package's page.

  • Položky ke stažení v pravém sloupci stránky balíčku zobrazují celkový, aktuální verzi a průměrný počet stažení za den. Velká čísla ukazují, že se balíček osvědčil mezi mnoha vývojáři.

    Screenshot that shows Download statistics on a package's page.

    Výběrem úplného statistiky vedle položky Stažené soubory zobrazíte stránku, která zobrazuje stahování balíčků za posledních šest týdnů podle čísla verze. Verze, které používají více vývojářů, jsou obvykle lepšími volbami.

  • Karta Použitý podle na stránce balíčku zobrazuje pět nejoblíbenějších balíčků nuget.org a úložiště GitHub, která na tomto balíčku závisí. Balíčky a úložiště, které závisí na tomto balíčku, se nazývají závislé. Závislé balíčky a úložiště se dají považovat za koncovky tohoto balíčku, protože se rozhodly důvěřovat a záviset na něm.

    Screenshot that shows the Used By list.

    Nejnovější stabilní verze závislého balíčku musí záviset na jakékoli verzi tohoto balíčku. Tato definice zajišťuje, aby uvedené závislé balíčky byly aktuální reflexí rozhodnutí autorů balíčků o důvěryhodnosti a závislosti na balíčku. Seznam závislých položek nezobrazuje předběžné závislé položky, protože zatím nejsou považovány za celozpůsobené doporučení. Následující příklady ukazují, které balíčky se zobrazují jako závislé:

    Závislá verze balíčku Závislý balíček uvedený jako závislý?
    v1.0.0
    V1.1.0 (nejnovější stabilní verze) závisí na tomto balíčku.
    v1.2.0-preview
    PRAVDA, nejnovější stabilní verze závisí na tomto balíčku.
    v1.0.0 závisí na tomto balíčku.
    v1.1.0 (nejnovější stabilní verze)
    v1.2.0-preview
    NEPRAVDA, nejnovější stabilní verze nezávisí na tomto balíčku.
    v1.0.0 závisí na tomto balíčku.
    v1.1.0 (nejnovější stabilní verze)
    Verze v1.2.0-Preview závisí na tomto balíčku.
    NEPRAVDA, nejnovější stabilní verze nezávisí na tomto balíčku.

    Počet hvězdiček pro úložiště GitHub označuje jeho popularitu u uživatelů GitHubu. Další informace o systému hodnocení hvězd a úložiště Na GitHubu najdete v tématu O hvězdách.

    Poznámka:

    Oddíl Použitý uživatelem se automaticky generuje pravidelně, bez lidské kontroly a výhradně pro informační účely.

  • Karta Verze na stránce balíčku zobrazuje verze, soubory ke stažení, data poslední aktualizace a závažná ohrožení zabezpečení verzí balíčků. Verze, kterou instalujete, by neměla obsahovat žádná ohrožení zabezpečení s vysokou závažností. Dobře udržovaný balíček obsahuje nedávné aktualizace a dlouhou historii verzí. Zanedbávané balíčky mají před sebou několik aktualizací.

    Screenshot that shows the Versions list.

Pravý sloupec stránky balíčku obsahuje další informativní odkazy:

Screenshot that shows the right column of the package page.

  • Pokud chcete zjistit, jaké možnosti podpory autor nabízí, vyberte web Projectu( pokud je k dispozici). Projekt s vyhrazeným webem je obecně dobře podporovaný.

  • Výběrem možnosti Zdrojové úložiště přejděte do úložiště zdrojového kódu Gitu pro balíček. Mnoho autorů udržuje své balíčky v opensourcových úložištích, aby uživatelé mohli přímo přispívat opravami chyb a vylepšeními funkcí. Historie příspěvků balíčku je dobrým indikátorem toho, kolik vývojářů se aktivně podílí.

  • Výběrem <licence typu> licence zobrazíte MIT balíčku nebo jinou licenci. Pokud balíček nezadává licenční podmínky, obraťte se na vlastníka balíčku.

  • Výběrem některého z vlastníků balíčků v části Vlastníci zobrazíte další balíčky, které publikovali. Vlastníci s více balíčky budou pravděpodobně pokračovat v podpoře své práce. Výběrem možnosti Kontaktovat vlastníky vedle vlastníků se obraťte přímo na vývojáře balíčků.

Načtení informací o licenci

Někteří klienti NuGet a informační kanály NuGet nemusí mít možnost získat informace o licencování. Pokud chcete v takových případech zachovat zpětnou kompatibilitu, adresa URL licence odkazuje na tento dokument o tom, jak načíst informace o licenci.

Pokud vyberete adresu URL licence balíčku, přejdete na tuto stránku, znamená to, že balíček obsahuje licenční soubor a:

  • Jste připojení k informačnímu kanálu, který neví, jak interpretovat a zobrazit informace o licenci klientovi nebo
  • Používáte klienta, který neví, jak interpretovat a číst licenční informace, které informační kanál poskytuje, nebo
  • Kombinaceobouch

Čtení informací v licenčním souboru uvnitř balíčku:

  1. Balíček si stáhněte ručně a rozbalte jeho obsah do složky.
  2. Otevřete soubor .nuspec v kořenovém adresáři složky.
  3. <license> Prozkoumejte značku, například <license type="file">license\license.txt</license>. Příklad značky uvádí, že soubor licence má název license.txt a nachází se uvnitř podsložky s názvem licence.
  4. Přejděte do zadaného umístění a otevřete zadaný soubor.

Informace o msBuild ekvivalentní nastavení licence v souboru .nuspec naleznete v tématu Balení výrazu licence nebo souboru licence.

Další kroky