PackageSmith
Verze balíčků NuGet přímo tam, kde jsou zapsané: nejnovější verze za každým řádkem balíčku, celá historie při najetí myší, aktualizace pomocí Ctrl+. — a zranitelné či zastaralé balíčky označené dřív, než na ně upozorní sestavení.
Zdarma · Visual Studio 2022 a 2026 · 14 jazyků rozhraní · žádná telemetrie
Proč PackageSmith

Zastaralé na první pohled
Nemusíte otevírat okno NuGet, abyste zjistili, co je staré: nejnovější verze stojí za každým balíčkem — zeleně pro patch, žlutě pro minor, oranžově pro major.
Nejdřív bezpečné aktualizace
Známá zranitelnost svítí červeně přímo na řádku, spolu s nejbližší verzí, která ji opravuje; zastaralý balíček uvádí svou náhradu.
Jen vaše zdroje
Verze pocházejí ze zdrojů balíčků ve vašem NuGet.config — nuget.org nebo firemního kanálu. Dotazy se týkají jen názvů a verzí balíčků; nic o vás ani o vašem projektu se neodesílá.
Zdarma a bez háčků
Žádné předplatné, žádná verze „pro“, žádný sběr dat a žádné zprávy v okně „Výstup“ ani při spuštění. Jediné, o co kdy požádáme — až ho nějakou dobu budete používat — je hodnocení na Marketplace. Funguje ve Visual Studiu 2022 a 2026, x64 i ARM64.
Funkce
- Nejnovější verze za každým balíčkem, barevně podle velikosti kroku; tlumené
✓ nejnovějšíu aktuálních balíčků. - Zranitelné a zastaralé balíčky: závažnost známé zranitelnosti a náhrada zastaralého balíčku.
- Karta při najetí myší: popis, nejnovější verze každé novější řady s datem a aktualizace na jedno kliknutí.
- Aktualizace pomocí Ctrl+.: na nejnovější patch, minor nebo major, nebo všechny balíčky souboru v rámci jejich hlavní verze — jedna úprava, jedno Zpět.
- Každý soubor s balíčky:
.csproj,.vbproj,.fsproj,Directory.Packages.props(centrální správa balíčků),.props,.targetsapackages.config;Version="$(ContosoVersion)"se vyhodnotí ze souboru. - Vaše zdroje balíčků z NuGet.config, odpovědi uložené v mezipaměti mezi relacemi, přepínač režimu offline.
Verze na konci řádku
Za každým řádkem PackageReference, PackageVersion a package: nic nápadného, když je balíček aktuální, jinak nejnovější verze v barvě kroku. Neuvedené (unlisted) verze se nikdy nenabízejí; předběžné verze jen balíčkům, které už nějakou používají, pokud nastavení neříká jinak.

| Za řádkem | Význam |
|---|---|
| ✓ nejnovější | Balíček je na nejnovější verzi. |
| → 8.0.4 patch | Mění se jen třetí číslo: opravy. |
| → 6.5.1 minor | Mění se druhé číslo: nové funkce, bez záměrných zásadních změn. |
| → 5.0.2 major | Mění se první číslo: tady bydlí zásadní změny. |
| ⚠ zranitelnost · vysoká | Používaná verze má známou zranitelnost; je uvedena její závažnost. |
| zastaralý · použijte … | Autoři označili balíček jako zastaralý a uvádějí ten, který se má použít místo něj. |
Karta při najetí myší
Podržte ukazatel na verzi v kódu nebo na textu za řádkem: karta ukáže popis, nejnovější verzi každé novější řady (10.0.13, 9.0.10, 8.0.21 pro balíček na 8.0.0) s datem, kolik dalších novějších verzí existuje, zranitelnost s nejbližší aktualizací bez ní a tlačítka Aktualizovat na …, Otevřít na nuget.org a Web projektu. Kliknutím na libovolnou verzi v seznamu ji nastavíte.

Aktualizace pomocí Ctrl+.
Kurzor na řádku balíčku, Ctrl+.: nejnovější patch, nejnovější minor a nejnovější major se nabízejí zvlášť, takže bezpečná aktualizace je vždy na jednu klávesu. Aktualizovat všechny balíčky v tomto souboru v rámci jejich hlavní verze převede každý balíček na jeho nejnovější verzi téže hlavní verze — majory zůstávají samostatným rozhodnutím. Verze z vlastnosti ($(ContosoVersion)) se aktualizuje tam, kde ji soubor definuje. Soubor se upraví jako při ruční změně: Zpět funguje a Visual Studio obnoví balíčky jako obvykle.

Nastavení
Nástroje → Možnosti → SmithWorks → PackageSmith. Každá možnost má popis.
| Možnost | Výchozí |
|---|---|
| Zobrazovat nejnovější verzi za každým balíčkem | zapnuto |
| Označovat aktuální balíčky popiskem „✓ nejnovější“ | zapnuto |
| Nabízet předběžné verze všem balíčkům | vypnuto |
| Označovat balíčky, které nejsou ve vašich zdrojích | vypnuto |
| Označovat zranitelné a zastaralé balíčky | zapnuto |
| Karta při najetí myší | zapnuto |
| Aktualizace pomocí Ctrl+. | zapnuto |
| Interval kontroly | 1 hodina |
| Režim offline | vypnuto |
| Požádat o hodnocení na Marketplace | zapnuto |
Nastavení se ukládá do %LocalAppData%\PackageSmith, verze v mezipaměti vedle něj.

Časté dotazy
Odesílá PackageSmith nějaká data?
Ptá se vašich zdrojů balíčků (z NuGet.config; bez něj nuget.org) na verze balíčků ve vašich souborech — stejné požadavky, jaké posílá Visual Studio při jejich obnovení. Nic jiného se neodesílá: žádná telemetrie, žádné názvy projektů, nic o vás. Když je zapnutý Režim offline, neodchází vůbec žádný požadavek.
Firemní kanál vyžaduje přihlášení. Funguje to?
Zatím ne: kanály, které vyžadují přihlašovací údaje, se přeskočí a jejich balíčky zůstanou bez označení — nezobrazí se žádná chybná odpověď. Veřejné kanály v3 (nuget.org, otevřené firemní kanály) fungují.
Proč za některými balíčky nic není?
Nic se nevypíše, když je verze rozsah nebo zástupný znak ([1.0,2.0), 13.*), když je vlastnost definovaná v jiném souboru nebo když žádný zdroj neodpověděl. Zapněte Označovat balíčky, které nejsou ve vašich zdrojích, abyste viděli balíčky, o kterých každý zdroj odpověděl, že je nemá.
Funguje s centrální správou balíčků?
Ano: verze se zobrazují v Directory.Packages.props za každým PackageVersion a také u VersionOverride v projektu.
Obnoví aktualizace balíčky?
PackageSmith jen upraví soubor. Visual Studio po změně obnoví balíčky, stejně jako když verzi upravíte ručně.
Funguje spolu s LensSmith?
Ano. Oba píší na konec řádků, takže se o to místo dělí: nejdřív verze, za ní upozornění NuGet z LensSmith.
Kde nahlásit problém nebo navrhnout funkci?
Založte issue v repozitáři Feedback na GitHubu — jsou tam formuláře pro chyby a nápady (neveřejné názvy prosím změňte). Můžete také použít kartu Q&A na Marketplace.
Historie změn
1.0.1
- Jednorázová žádost o hodnocení na Marketplace, až bude rozšíření užitečné — s možnostmi Později a Už se neptat a s volbou, jak ji vypnout.
1.0.0
- První veřejné vydání.