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

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
- Die neueste Version hinter jedem Paket, eingefärbt nach der Größe des Sprungs; ein dezentes
✓ aktuellfür aktuelle Pakete. - Anfällige und veraltete Pakete: der Schweregrad eines bekannten Sicherheitsrisikos und der Ersatz eines veralteten Pakets.
- Eine Karte beim Darüberfahren: die Beschreibung, die neueste Version jeder neueren Versionslinie mit ihrem Datum und das Update mit einem Klick.
- Mit Ctrl+. aktualisieren: auf den neuesten Patch, Minor oder Major oder alle Pakete der Datei innerhalb ihrer Hauptversion – eine Änderung, ein Rückgängig.
- Jede Paketdatei:
.csproj,.vbproj,.fsproj,Directory.Packages.props(zentrale Paketverwaltung),.props,.targetsundpackages.config;Version="$(ContosoVersion)"wird aus der Datei aufgelöst. - Ihre Paketquellen aus NuGet.config, zwischen Sitzungen zwischengespeicherte Antworten, ein Offline-Schalter.
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.

| Hinter der Zeile | Bedeutung |
|---|---|
| ✓ aktuell | Das Paket ist auf seiner neuesten Version. |
| → 8.0.4 patch | Nur die dritte Zahl ändert sich: Korrekturen. |
| → 6.5.1 minor | Die zweite Zahl ändert sich: neue Funktionen, keine beabsichtigten Breaking Changes. |
| → 5.0.2 major | Die erste Zahl ändert sich: Hier liegen die Breaking Changes. |
| ⚠ anfällig · hoch | Die verwendete Version hat ein bekanntes Sicherheitsrisiko, mit seinem Schweregrad. |
| veraltet · … verwenden | Die 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.

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.

Einstellungen
Extras → Optionen → SmithWorks → PackageSmith. Jede Option hat eine Beschreibung.
| Option | Standard |
|---|---|
| Neueste Version hinter jedem Paket anzeigen | ein |
| Aktuelle Pakete mit „✓ aktuell“ markieren | ein |
| Vorabversionen für alle Pakete anbieten | aus |
| In Ihren Quellen nicht gefundene Pakete markieren | aus |
| Anfällige und veraltete Pakete kennzeichnen | ein |
| Karte beim Darüberfahren | ein |
| Mit Ctrl+. aktualisieren | ein |
| Erneut prüfen nach | 1 Stunde |
| Offline | aus |
| Um eine Bewertung im Marketplace bitten | ein |
Die Einstellungen werden in %LocalAppData%\PackageSmith gespeichert, die zwischengespeicherten Versionen daneben.

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
- Eine einmalige Bitte um eine Bewertung im Marketplace, nachdem die Erweiterung nützlich war – mit Später und Nicht mehr fragen sowie einer Option zum Abschalten.
1.0.0
- Erste öffentliche Version.