LazowskiAnton · Extensions

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

El mismo archivo de proyecto sin y con PackageSmith: las versiones más recientes tras las líneas de paquete

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

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.

Un archivo Directory.Packages.props con las versiones más recientes, un paquete vulnerable y uno en desuso
Tras la líneaSignificado
✓ al díaEl paquete está en su versión más reciente.
→ 8.0.4 patchSolo cambia el tercer número: correcciones.
→ 6.5.1 minorCambia el segundo número: nuevas funciones, sin cambios incompatibles previstos.
→ 5.0.2 majorCambia el primer número: aquí están los cambios incompatibles.
⚠ vulnerable · altaLa 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.

La tarjeta de un paquete vulnerable con la versión más reciente de cada rama

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.

La bombilla con las actualizaciones patch, minor y major de un paquete

Configuración

Herramientas → Opciones → SmithWorks → PackageSmith. Cada opción tiene una descripción.

OpciónPredeterminado
Mostrar la versión más reciente tras cada paqueteactivado
Marcar los paquetes actualizados con «✓ al día»activado
Ofrecer versiones preliminares a todos los paquetesdesactivado
Marcar los paquetes no encontrados en sus orígenesdesactivado
Señalar paquetes vulnerables y en desusoactivado
Tarjeta al pasar el punteroactivado
Actualizar con Ctrl+.activado
Volver a comprobar tras1 hora
Sin conexióndesactivado
Pedir una valoración en el Marketplaceactivado

La configuración se guarda en %LocalAppData%\PackageSmith y las versiones en caché, junto a ella.

Página de opciones de PackageSmith
La página de opciones.

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

1.0.0