Sdílet prostřednictvím


Vyřazení balíčků

Balíček můžete přestat používat, pokud už balíček neudržíte nebo pokud chcete uživatelům vašeho balíčku doporučit přechod na jiný balíček.

Vyřazení balíčku se liší od vyřazení balíčku, jak je vysvětleno níže:

  • Zrušením zařazení balíčku zabráníte jeho zjišťování, protože je skrytý ve výsledcích hledání.
  • Vyřazení balíčku umožňuje stávajícím uživatelům balíčku zjistit, jestli ho mají nainstalované nebo používané v projektech. Také jim umožní zjistit důvod vyřazení a alternativní doporučený balíček určený vámi (vydavatelem balíčku). Vyřazení balíčku nevyjádří seznam balíčků.

Jako vydavatel se můžete rozhodnout pro zrušení seznamu i vyřazení balíčků.

Pracovní postup vyřazení

  1. Pokud chcete balíček zrušit, přejděte na Spravovat balíčky a vyberte Vyřazení:

    Go to deprecate package option

  2. Vyberte verzi, kterou chcete přestat používat. Pokud chcete přestat používat všechny verze, zvolte možnost Vybrat všechny verze .

    Select package versions to deprecate

  3. Zvolte důvod pro vyřazení. Pokud už balíček není zachován, zvolte možnost Starší verze. Pokud má konkrétní verze kritickou chybu, zvolte možnost kritické chyby . Z jakéhokoli jiného důvodu vyberte Jiný. Vždy můžete zadat alternativní doporučený balíček (a verzi) a vlastní zprávu vlastníkům.

    Select reasons alternate package recommendation and custom message

Poznámka

Vlastní zpráva se zobrazuje jenom v nuget.org, ale ne z klientů. V současné době klienti, jako je dotnet.exe NuGet Správce balíčků, nezobrazují vlastní zprávu.

Klientské prostředí pro zastaralé balíčky

Jakmile je balíček zastaralý, příjemci o něm budou upozorněni následujícími způsoby (v závislosti na použitém klientovi).

Visual Studio

Dostupné od Visual Studio 2019 verze 16.3

Visual Studio upozorní na zastaralé využití balíčku na Installed kartě. Zobrazí se upozornění pro balíček a jeho informace o vyřazení (včetně důvodu, proč byl vyřazený, a alternativní balíček, který se má místo toho použít, pokud je k dispozici).

Deprecated packages on Visual Studio installed tab of package manager

dotnet.exe

Dostupné od sady .NET SDK 3.0

Pokud používáte dotnet.exe, můžete příkaz dotnet list package --deprecated spustit ve složce řešení nebo projektu a získat seznam zastaralých balíčků spolu s informacemi o vyřazení:

> dotnet list package --deprecated

The following sources were used:
   https://api.nuget.org/v3/index.json

Project `My.Test.Project` has the following deprecated packages
   [netcoreapp3.0]:
   Top-level Package      Resolved   Reason(s)   Alternative
   > My.Sample.Lib        6.0.0      Legacy      My.Awesome.Package

Přenos popularity do novějšího balíčku

Autoři balíčků, kteří zastaralé balíčky zastaralí, se můžou rozhodnout přenést svou "popularitu" na novější balíček, aby zvýšili pořadí hledání novějšího balíčku. To pomáhá zákazníkům zjistit novější balíček místo zastaralého balíčku.

Řekněme například, že mám dva balíčky:

  • Můj zastaralý starší balíček s Contoso.Legacy 3 miliony stažení
  • Můj nejnovější balíček s Contoso.Latest 5 staženími

NuGet.org dává přednost výsledkům hledání s vyšším stahováním a popularitou. Vzhledem k vyhledávacímu dotazu Contoso by můj zastaralý balíček Contoso.Legacy pravděpodobně odpovídal nejnovějšímu balíčku Contoso.Latest ve výsledcích hledání.

Pokud chcete tento problém vyřešit, můžu použít k převodu popularity zastaralého staršího balíčku do nejnovějšího balíčku. To by způsobilo Contoso.Latest vyšší pořadí ve výsledcích hledání, zatímco Contoso.Legacy by bylo nižší. Ovlivněno je pouze interní skóre oblíbenosti balíčků, skutečný počet stahování pro každý balíček nebude ovlivněn.

Poznámka

Přenosy popularity můžou uživatelům výrazně znesnadnit nalezení starší verze balíčku.

V následující tabulce najdete konkrétní představu o tom, jak může přenos oblíbenosti ovlivnit hodnocení vyhledávání dotazu Contoso:

Řazení hledání Před převodem popularity Po převodu popularity
1 Contoso.Legacy, 3M ke stažení Contoso.Latest, 5 stažení
2 Contoso.Scanner, 2M ke stažení Contoso.Scanner, 2M ke stažení
3 Contoso.Core, 1.5M ke stažení Contoso.Core, 1.5M ke stažení
4 Contoso.UI, 1M ke stažení Contoso.UI, 1M ke stažení
... ... ...
20 Contoso.Latest, 5 stažení Contoso.Legacy, 3M ke stažení

Proces aplikace pro převod popularity

  1. Zkontrolujte požadavky na přenos popularity.
  2. E-mail account@nuget.org s zastaralým balíčkem, jehož popularita by se měla přenést, a seznam stabilních balíčků, které by měly obdržet přenos popularity.

Po odeslání žádosti vás upozorníme na přijetí nebo odmítnutí vaší aplikace (s kritérii, která způsobila odmítnutí). Možná budeme muset položit další otázky k potvrzení identity vlastníka.

Požadavky na převod oblíbenosti

  • Starší balíčky a nové balíčky musí sdílet všechny vlastníky.
  • Nové balíčky musí být jasně spojené se staršími balíčky v pojmenování a funkcích (tj. vývoj nebo příští generace).
  • Všechny verze starších balíčků musí být zastaralé a odkazovat na nové balíčky přijímající přenos.
  • Přenos popularity nesmí způsobit nejasnost pro NuGet uživatele nebo zhoršení NuGet vyhledávacího prostředí.
  • Nové balíčky musí mít stabilní verzi.
  • Starší balíček nesmí přijímat přenosy popularity z jiného zastaralého balíčku.

Pokročilé scénáře převodu popularity

Konsolidace balíčků

Můžu převést popularitu více zastaralých balíčků ve prospěch jednoho nového balíčku. Řekněme například, že mám 3 balíčky:

  • Můj první zastaralý balíček, Contoso.Legacy1
  • Můj druhý zastaralý balíček, Contoso.Legacy2
  • Můj nový konsolidovaný balíček, Contoso.Latest

Po vyřazení Contoso.Legacy1 a Contoso.Legacy2, můžu použít k převodu jejich popularity na Contoso.Latest.

Rozdělení balíčků

Popularitu zastaralého balíčku je možné přenést do a rozdělit mezi až 5 novějších balíčků. To je užitečné v případě, že funkce zastaralého balíčku byla rozdělena mezi několik nových balíčků. Řekněme například, že mám 3 balíčky:

  • Můj zastaralý starší balíček, Contoso.Legacy
  • Můj první nový balíček, Contoso.Web
  • Můj druhý nový balíček, Contoso.Cloud

Contoso.Legacy zahrnuje webové i cloudové funkce, ale rozhodl jsem se tyto funkce oddělit do různých balíčků pro další generaci. Po vyřazení Contoso.Legacymůžu použít k převodu jeho popularity do obou Contoso.Web i Contoso.Cloud.

Upozornění

Převedená popularita bude rovnoměrně rozdělena mezi všechny nové balíčky. V důsledku toho doporučujeme převést vaši zastaralou popularitu balíčku na co nejméně balíčků.

Řetězy převodu popularity

Zastaralý balíček nemůže převést jeho popularitu, pokud již přijímá popularitu z jiného zastaralého balíčku. Řekněme například, že mám 3 balíčky:

  • Můj zastaralý starší balíček, Contoso.First
  • Můj zastaralý starší balíček, Contoso.Second
  • Můj nový balíček, Contoso.Latest

Pokud Contoso.First přenese jeho popularitu do Contoso.Second, pak Contoso.Second nemůže přenést jeho popularitu do Contoso.Latest. Místo toho doporučujeme přenést popularitu obou a Contoso.FirstContoso.Second do Contoso.Latest, podle scénáře konsolidace balíčků .