LazowskiAnton · Extensions

PackageSmith

NuGet-Paketversionen genau dort, wo sie stehen: die neueste Version hinter jeder Paketzeile, die ganze Historie beim Darüberfahren, ein Update mit Ctrl+. – und anfällige oder veraltete Pakete gekennzeichnet, bevor der Build es tut.

Kostenlos · Visual Studio 2022 und 2026 · 14 UI-Sprachen · keine Telemetrie

Warum PackageSmith

Dieselbe Projektdatei ohne und mit PackageSmith: die neuesten Versionen hinter den Paketzeilen

Alte Versionen auf einen Blick

Kein Öffnen des NuGet-Fensters nötig, um zu sehen, was alt ist: Die neueste Version steht hinter jedem Paket, grün für einen Patch, gelb für ein Minor, orange für ein Major.

Sichere Updates zuerst

Ein bekanntes Sicherheitsrisiko steht rot direkt in der Zeile, mit der nächsten Version, die es behebt; ein veraltetes Paket nennt seinen Ersatz.

Nur Ihre Quellen

Die Versionen kommen aus den Paketquellen Ihrer NuGet.config – nuget.org oder dem Feed Ihres Unternehmens. Abgefragt werden nur Paketnamen und Versionen; nichts über Sie oder Ihr Projekt wird gesendet.

Kostenlos, ohne Haken

Kein Abo, keine „Pro“-Version, keine Datensammlung, keine Meldungen im Fenster „Ausgabe“ oder beim Start. Das Einzige, worum wir je bitten werden – nachdem Sie es eine Weile genutzt haben –, ist eine Bewertung im Marketplace. Läuft unter Visual Studio 2022 und 2026, x64 und ARM64.

Funktionen

Versionen am Zeilenende

Hinter jeder Zeile PackageReference, PackageVersion und package: nichts Auffälliges, wenn das Paket aktuell ist, sonst die neueste Version in der Farbe des Sprungs. Nicht gelistete Versionen werden nie angeboten; Vorabversionen nur Paketen, die bereits eine verwenden, sofern keine Einstellung etwas anderes vorgibt.

Eine Datei Directory.Packages.props mit den neuesten Versionen, einem anfälligen und einem veralteten Paket
Hinter der ZeileBedeutung
✓ aktuellDas Paket ist auf seiner neuesten Version.
→ 8.0.4 patchNur die dritte Zahl ändert sich: Korrekturen.
→ 6.5.1 minorDie zweite Zahl ändert sich: neue Funktionen, keine beabsichtigten Breaking Changes.
→ 5.0.2 majorDie erste Zahl ändert sich: Hier liegen die Breaking Changes.
⚠ anfällig · hochDie verwendete Version hat ein bekanntes Sicherheitsrisiko, mit seinem Schweregrad.
veraltet · … verwendenDie Autoren haben das Paket als veraltet markiert und nennen das, das stattdessen zu verwenden ist.

Eine Karte beim Darüberfahren

Lassen Sie den Zeiger auf einer Version im Code oder auf dem Text hinter der Zeile ruhen: Die Karte zeigt die Beschreibung, die neueste Version jeder neueren Versionslinie (10.0.13, 9.0.10, 8.0.21 für ein Paket auf 8.0.0) mit ihrem Datum, wie viele neuere es noch gibt, das Sicherheitsrisiko mit dem nächsten Update ohne es und die Schaltflächen Auf … aktualisieren, Auf nuget.org öffnen und Projektwebsite. Ein Klick auf eine Version in der Liste setzt sie.

Die Karte eines anfälligen Pakets mit der neuesten Version jeder Versionslinie

Mit Ctrl+. aktualisieren

Cursor auf einer Paketzeile, Ctrl+.: Der neueste Patch, das neueste Minor und das neueste Major werden getrennt angeboten, so ist das sichere Update immer nur eine Taste entfernt. Alle Pakete dieser Datei innerhalb ihrer Hauptversion aktualisieren bringt jedes Paket auf seine neueste Version derselben Hauptversion – Major-Updates bleiben eine eigene Entscheidung. Eine Version aus einer Eigenschaft ($(ContosoVersion)) wird dort aktualisiert, wo die Datei sie definiert. Die Datei wird wie bei einer manuellen Änderung bearbeitet: Rückgängig funktioniert, und Visual Studio stellt die Pakete wie gewohnt wieder her.

Die Glühbirne mit den Patch-, Minor- und Major-Updates eines Pakets

Einstellungen

Extras → Optionen → SmithWorks → PackageSmith. Jede Option hat eine Beschreibung.

OptionStandard
Neueste Version hinter jedem Paket anzeigenein
Aktuelle Pakete mit „✓ aktuell“ markierenein
Vorabversionen für alle Pakete anbietenaus
In Ihren Quellen nicht gefundene Pakete markierenaus
Anfällige und veraltete Pakete kennzeichnenein
Karte beim Darüberfahrenein
Mit Ctrl+. aktualisierenein
Erneut prüfen nach1 Stunde
Offlineaus
Um eine Bewertung im Marketplace bittenein

Die Einstellungen werden in %LocalAppData%\PackageSmith gespeichert, die zwischengespeicherten Versionen daneben.

Optionsseite von PackageSmith
Die Optionsseite.

FAQ

Sendet PackageSmith Daten?

Es fragt Ihre Paketquellen (aus NuGet.config; ohne sie nuget.org) nach den Versionen der Pakete in Ihren Dateien – dieselben Anfragen, die Visual Studio beim Wiederherstellen stellt. Sonst wird nichts gesendet: keine Telemetrie, keine Projektnamen, nichts über Sie. Mit Offline wird überhaupt keine Anfrage gestellt.

Der Feed meines Unternehmens erfordert eine Anmeldung. Funktioniert das?

Noch nicht: Feeds, die Anmeldeinformationen erfordern, werden übersprungen, und ihre Pakete bleiben unverändert – es wird keine falsche Antwort angezeigt. Öffentliche v3-Feeds (nuget.org, offene Unternehmensfeeds) funktionieren.

Warum steht hinter manchen Paketen nichts?

Es wird nichts angezeigt, wenn die Version ein Bereich oder ein Platzhalter ist ([1.0,2.0), 13.*), wenn eine Eigenschaft in einer anderen Datei definiert ist oder wenn keine Quelle geantwortet hat. Aktivieren Sie In Ihren Quellen nicht gefundene Pakete markieren, um Pakete zu sehen, die laut jeder Quelle nicht vorhanden sind.

Funktioniert es mit der zentralen Paketverwaltung?

Ja: Die Versionen werden in Directory.Packages.props hinter jedem PackageVersion angezeigt, und auch VersionOverride in einem Projekt wird angezeigt.

Stellt das Update die Pakete wieder her?

PackageSmith bearbeitet nur die Datei. Visual Studio stellt die Pakete nach der Änderung wieder her, so wie wenn Sie die Version von Hand ändern.

Funktioniert es zusammen mit LensSmith?

Ja. Beide schreiben ans Zeilenende und teilen sich diesen Platz: Zuerst kommt die Version, danach eine NuGet-Warnung von LensSmith.

Wo melde ich ein Problem oder schlage eine Funktion vor?

Erstellen Sie ein Issue im Repository Feedback auf GitHub – dort gibt es Formulare für Fehler und Ideen (bitte ändern Sie vertrauliche Namen). Sie können auch die Registerkarte „Q&A“ im Marketplace verwenden.

Änderungsprotokoll

1.0.1

1.0.0