PackageSmith
Versiones de paquetes NuGet justo donde se escriben: la versión más reciente tras cada línea de paquete, todo el historial al pasar el puntero, una actualización con Ctrl+. y los paquetes vulnerables o en desuso señalados antes de que lo haga la compilación.
Gratis · Visual Studio 2022 y 2026 · 14 idiomas de interfaz · sin telemetría
Por qué PackageSmith

Lo desactualizado, de un vistazo
No hace falta abrir la ventana de NuGet para saber qué está anticuado: la versión más reciente aparece tras cada paquete, en verde para un patch, en amarillo para un minor, en naranja para un major.
Primero, las actualizaciones seguras
Una vulnerabilidad conocida aparece en rojo en la propia línea, con la versión más cercana que la corrige; un paquete en desuso indica su sustituto.
Solo sus orígenes
Las versiones proceden de los orígenes de paquetes de su NuGet.config: nuget.org o la fuente de su empresa. Solo se consultan nombres y versiones de paquetes; no se envía nada sobre usted ni sobre su proyecto.
Gratis y sin letra pequeña
Sin suscripción, sin versión «pro», sin recopilación de datos, sin mensajes en la ventana Salida ni al iniciar. Lo único que le pediremos —cuando ya la haya usado durante un tiempo— es una valoración en el Marketplace. Funciona en Visual Studio 2022 y 2026, x64 y ARM64.
Características
- La versión más reciente tras cada paquete, coloreada según el tamaño del salto; un discreto
✓ al díapara los paquetes actualizados. - Paquetes vulnerables y en desuso: la gravedad de una vulnerabilidad conocida y el sustituto de un paquete en desuso.
- Una tarjeta al pasar el puntero: la descripción, la versión más reciente de cada rama más nueva con su fecha y la actualización a un clic.
- Actualizar con Ctrl+.: al patch, minor o major más reciente, o todos los paquetes del archivo dentro de su versión principal — una sola edición, un solo Deshacer.
- Todos los archivos de paquetes:
.csproj,.vbproj,.fsproj,Directory.Packages.props(administración centralizada de paquetes),.props,.targetsypackages.config;Version="$(ContosoVersion)"se resuelve a partir del archivo. - Sus orígenes de paquetes de NuGet.config, respuestas en caché entre sesiones y un modo sin conexión.
Versiones al final de la línea
Tras cada línea PackageReference, PackageVersion y package: nada llamativo cuando el paquete está al día; si no, la versión más reciente en el color del salto. Nunca se ofrecen versiones no listadas; las versiones preliminares, solo a los paquetes que ya usan una, salvo que una opción indique lo contrario.

| Tras la línea | Significado |
|---|---|
| ✓ al día | El paquete está en su versión más reciente. |
| → 8.0.4 patch | Solo cambia el tercer número: correcciones. |
| → 6.5.1 minor | Cambia el segundo número: nuevas funciones, sin cambios incompatibles previstos. |
| → 5.0.2 major | Cambia el primer número: aquí están los cambios incompatibles. |
| ⚠ vulnerable · alta | La versión en uso tiene una vulnerabilidad de seguridad conocida, con su gravedad. |
| en desuso · usar … | Los autores dejaron el paquete en desuso e indican cuál usar en su lugar. |
Una tarjeta al pasar el puntero
Deje el puntero sobre una versión en el código o sobre el texto tras la línea: la tarjeta muestra la descripción, la versión más reciente de cada rama más nueva (10.0.13, 9.0.10, 8.0.21 para un paquete en 8.0.0) con su fecha, cuántas versiones más recientes quedan, la vulnerabilidad con la actualización más cercana sin ella y los botones Actualizar a …, Abrir en nuget.org y Sitio del proyecto. Un clic en cualquier versión de la lista la establece.

Actualizar con Ctrl+.
Con el cursor en una línea de paquete, Ctrl+.: el patch, el minor y el major más recientes se ofrecen por separado, así que la actualización segura siempre está a una tecla. Actualizar todos los paquetes de este archivo dentro de su versión principal lleva cada paquete a su versión más reciente de la misma versión principal; los saltos de major siguen siendo una decisión aparte. Una versión que viene de una propiedad ($(ContosoVersion)) se actualiza donde el archivo la define. El archivo se edita como en un cambio manual: Deshacer funciona y Visual Studio restaura los paquetes como de costumbre.

Configuración
Herramientas → Opciones → SmithWorks → PackageSmith. Cada opción tiene una descripción.
| Opción | Predeterminado |
|---|---|
| Mostrar la versión más reciente tras cada paquete | activado |
| Marcar los paquetes actualizados con «✓ al día» | activado |
| Ofrecer versiones preliminares a todos los paquetes | desactivado |
| Marcar los paquetes no encontrados en sus orígenes | desactivado |
| Señalar paquetes vulnerables y en desuso | activado |
| Tarjeta al pasar el puntero | activado |
| Actualizar con Ctrl+. | activado |
| Volver a comprobar tras | 1 hora |
| Sin conexión | desactivado |
| Pedir una valoración en el Marketplace | activado |
La configuración se guarda en %LocalAppData%\PackageSmith y las versiones en caché, junto a ella.

Preguntas frecuentes
¿PackageSmith envía algún dato?
Pregunta a sus orígenes de paquetes (de NuGet.config; nuget.org si no hay ninguno) por las versiones de los paquetes de sus archivos: las mismas solicitudes que hace Visual Studio al restaurarlos. No se envía nada más: ni telemetría, ni nombres de proyectos, ni nada sobre usted. Con Sin conexión activado, no se hace ninguna solicitud.
La fuente de mi empresa requiere iniciar sesión. ¿Funciona?
Todavía no: las fuentes que requieren credenciales se omiten y sus paquetes quedan sin marcas; no se muestra ninguna respuesta errónea. Las fuentes v3 públicas (nuget.org, fuentes de empresa abiertas) funcionan.
¿Por qué no aparece nada tras algunos paquetes?
No se escribe nada cuando la versión es un intervalo o un comodín ([1.0,2.0), 13.*), cuando una propiedad está definida en otro archivo o cuando ningún origen respondió. Active Marcar los paquetes no encontrados en sus orígenes para ver los paquetes que todos los orígenes dicen no tener.
¿Funciona con la administración centralizada de paquetes?
Sí: las versiones se muestran en Directory.Packages.props tras cada PackageVersion, y también VersionOverride en un proyecto.
¿La actualización restaura los paquetes?
PackageSmith solo edita el archivo. Visual Studio restaura los paquetes tras el cambio, como cuando edita la versión a mano.
¿Funciona junto con LensSmith?
Sí. Ambos escriben al final de las líneas, así que comparten ese espacio: primero va la versión y después, una advertencia de NuGet de LensSmith.
¿Dónde informo de un problema o sugiero una función?
Abra una incidencia en el repositorio Feedback de GitHub: hay formularios para errores e ideas (cambie los nombres privados). También puede usar la pestaña Q&A en Marketplace.
Historial de cambios
1.0.1
- Una única petición de valoración en el Marketplace, cuando la extensión ya le ha sido útil, con Más tarde y No volver a preguntar, y una opción para desactivarla.
1.0.0
- Primera versión pública.