PackageSmith
Le versioni dei pacchetti NuGet proprio dove sono scritte: la versione più recente dopo ogni riga di pacchetto, tutta la cronologia al passaggio del puntatore, l’aggiornamento con Ctrl+. e i pacchetti vulnerabili o deprecati segnalati prima che lo faccia la build.
Gratuito · Visual Studio 2022 e 2026 · 14 lingue dell’interfaccia · nessuna telemetria
Perché PackageSmith

Ciò che è vecchio, a colpo d’occhio
Non serve aprire la finestra NuGet per sapere cosa è vecchio: la versione più recente sta dopo ogni pacchetto, verde per una patch, gialla per una minor, arancione per una major.
Prima gli aggiornamenti sicuri
Una vulnerabilità nota è in rosso direttamente sulla riga, con la versione più vicina che la corregge; un pacchetto deprecato indica il suo sostituto.
Solo le tue origini
Le versioni arrivano dalle origini pacchetti del tuo NuGet.config: nuget.org o il feed della tua azienda. Vengono richiesti solo nomi e versioni dei pacchetti; nulla su di te o sul tuo progetto viene inviato.
Gratuito, senza condizioni
Nessun abbonamento, nessuna versione «pro», nessuna raccolta di dati, nessun messaggio nella finestra Output o all’avvio. L’unica cosa che ti chiederemo — dopo che l’avrai usata per un po’ — è una valutazione sul Marketplace. Funziona con Visual Studio 2022 e 2026, x64 e ARM64.
Funzionalità
- La versione più recente dopo ogni pacchetto, colorata in base all’entità del salto; un tenue
✓ ultimaper i pacchetti aggiornati. - Pacchetti vulnerabili e deprecati: la gravità di una vulnerabilità nota e il sostituto di un pacchetto deprecato.
- Una scheda al passaggio del puntatore: la descrizione, la versione più recente di ogni linea più nuova con la sua data e l’aggiornamento a portata di clic.
- Aggiornamento con Ctrl+.: alla patch, alla minor o alla major più recente, oppure tutti i pacchetti del file entro la loro versione major: una modifica, un solo Annulla.
- Ogni file di pacchetti:
.csproj,.vbproj,.fsproj,Directory.Packages.props(gestione centralizzata dei pacchetti),.props,.targetsepackages.config;Version="$(ContosoVersion)"viene risolto dal file. - Le tue origini pacchetti da NuGet.config, risposte conservate tra le sessioni, un interruttore per lavorare offline.
Versioni a fine riga
Dopo ogni riga PackageReference, PackageVersion e package: nulla di vistoso se il pacchetto è aggiornato, altrimenti la versione più recente nel colore del salto. Le versioni non elencate non vengono mai proposte; le versioni preliminari solo ai pacchetti che ne usano già una, a meno che un’impostazione non dica altrimenti.

| Dopo la riga | Significato |
|---|---|
| ✓ ultima | Il pacchetto è alla sua versione più recente. |
| → 8.0.4 patch | Cambia solo il terzo numero: correzioni. |
| → 6.5.1 minor | Cambia il secondo numero: nuove funzionalità, senza modifiche incompatibili previste. |
| → 5.0.2 major | Cambia il primo numero: è qui che stanno le modifiche incompatibili. |
| ⚠ vulnerabile · alta | La versione in uso ha una vulnerabilità di sicurezza nota, con la sua gravità. |
| deprecato · usa … | Gli autori hanno deprecato il pacchetto e indicano quello da usare al suo posto. |
Una scheda al passaggio del puntatore
Posa il puntatore su una versione nel codice o sul testo dopo la riga: la scheda mostra la descrizione, la versione più recente di ogni linea più nuova (10.0.13, 9.0.10, 8.0.21 per un pacchetto alla 8.0.0) con la sua data, quante altre versioni più recenti ci sono, la vulnerabilità con l’aggiornamento più vicino che ne è privo e i pulsanti Aggiorna a …, Apri su nuget.org e Sito del progetto. Un clic su una qualsiasi versione dell’elenco la imposta.

Aggiornamento con Ctrl+.
Cursore su una riga di pacchetto, Ctrl+.: la patch, la minor e la major più recenti vengono proposte separatamente, così l’aggiornamento sicuro è sempre a un tasto di distanza. Aggiorna tutti i pacchetti del file entro la loro versione major porta ogni pacchetto alla sua versione più recente della stessa major: le major restano una decisione a parte. Una versione presa da una proprietà ($(ContosoVersion)) viene aggiornata dove il file la definisce. Il file viene modificato come con una modifica manuale: Annulla funziona e Visual Studio ripristina i pacchetti come al solito.

Impostazioni
Strumenti → Opzioni → SmithWorks → PackageSmith. Ogni opzione ha una descrizione.
| Opzione | Predefinito |
|---|---|
| Mostra la versione più recente dopo ogni pacchetto | attivo |
| Contrassegna i pacchetti aggiornati con "✓ ultima" | attivo |
| Proponi versioni preliminari per ogni pacchetto | disattivo |
| Contrassegna i pacchetti non trovati nelle tue origini | disattivo |
| Segnala i pacchetti vulnerabili e deprecati | attivo |
| Scheda al passaggio del puntatore | attivo |
| Aggiorna con Ctrl+. | attivo |
| Ricontrolla dopo | 1 ora |
| Offline | disattivo |
| Chiedi una valutazione sul Marketplace | attivo |
Le impostazioni sono salvate in %LocalAppData%\PackageSmith, le versioni memorizzate accanto a esse.

FAQ
PackageSmith invia dati?
Chiede alle tue origini pacchetti (da NuGet.config; nuget.org se manca) le versioni dei pacchetti presenti nei tuoi file: le stesse richieste che Visual Studio fa quando li ripristina. Non viene inviato nient’altro: nessuna telemetria, nessun nome di progetto, nulla su di te. Con Offline attivo non viene fatta alcuna richiesta.
Il feed della mia azienda richiede l’accesso. Funziona?
Non ancora: i feed che richiedono credenziali vengono saltati e i loro pacchetti restano senza note, così non compare nessuna risposta sbagliata. I feed v3 pubblici (nuget.org, feed aziendali aperti) funzionano.
Perché dopo alcuni pacchetti non c’è niente?
Non viene scritto nulla quando la versione è un intervallo o un carattere jolly ([1.0,2.0), 13.*), quando una proprietà è definita in un altro file o quando nessuna origine ha risposto. Attiva Contrassegna i pacchetti non trovati nelle tue origini per vedere i pacchetti che ogni origine ha dichiarato di non avere.
Funziona con la gestione centralizzata dei pacchetti?
Sì: le versioni vengono mostrate in Directory.Packages.props dopo ogni PackageVersion, e viene mostrato anche VersionOverride in un progetto.
L’aggiornamento ripristina i pacchetti?
PackageSmith modifica solo il file. Visual Studio ripristina i pacchetti dopo la modifica, come quando cambi la versione a mano.
Funziona insieme a LensSmith?
Sì. Entrambi scrivono a fine riga, quindi si dividono quello spazio: prima la versione, poi un avviso NuGet di LensSmith.
Dove segnalo un problema o suggerisco una funzionalità?
Apri una issue nel repository Feedback su GitHub: ci sono moduli per bug e idee (cambia i nomi privati). Puoi anche usare la scheda Q&A nel Marketplace.
Registro modifiche
1.0.1
- Una sola richiesta di valutazione sul Marketplace, dopo che l’estensione è stata utile — con Più tardi e Non chiedere più, e un’opzione per disattivarla.
1.0.0
- Prima versione pubblica.