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í
Pokud chcete balíček zrušit, přejděte na Spravovat balíčky a vyberte Vyřazení:
Vyberte verzi, kterou chcete přestat používat. Pokud chcete přestat používat všechny verze, zvolte možnost Vybrat všechny verze .
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.
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).
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
- Zkontrolujte požadavky na přenos popularity.
- 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.Legacy
můž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.First
Contoso.Second
do Contoso.Latest
, podle scénáře konsolidace balíčků .