PackageSmith
Versões de pacotes NuGet bem onde estão escritas: a versão mais recente após cada linha de pacote, todo o histórico ao passar o mouse, a atualização com Ctrl+. — e pacotes vulneráveis ou preteridos sinalizados antes que o build o faça.
Gratuito · Visual Studio 2022 e 2026 · 14 idiomas de interface · sem telemetria
Por que o PackageSmith

O desatualizado num relance
Não é preciso abrir a janela do NuGet para saber o que está velho: a versão mais recente fica após cada pacote, verde para um patch, amarela para um minor, laranja para um major.
Atualizações seguras primeiro
Uma vulnerabilidade conhecida aparece em vermelho na própria linha, com a versão mais próxima que a corrige; um pacote preterido indica o seu substituto.
Só as suas fontes
As versões vêm das fontes de pacotes do seu NuGet.config — o nuget.org ou o feed da sua empresa. Só nomes e versões de pacotes são consultados; nada sobre você ou o seu projeto é enviado.
Gratuito, sem pegadinhas
Sem assinatura, sem versão “pro”, sem coleta de dados, sem mensagens na janela Saída ou na inicialização. A única coisa que vamos pedir — depois que você a tiver usado por um tempo — é uma avaliação no Marketplace. Funciona no Visual Studio 2022 e 2026, x64 e ARM64.
Recursos
- A versão mais recente após cada pacote, colorida pelo tamanho do salto; um discreto
✓ mais recentepara pacotes atualizados. - Pacotes vulneráveis e preteridos: a gravidade de uma vulnerabilidade conhecida e o substituto de um pacote preterido.
- Um cartão ao passar o mouse: a descrição, a versão mais recente de cada linha mais nova com a sua data e a atualização a um clique.
- Atualização com Ctrl+.: para o patch, o minor ou o major mais recente, ou todos os pacotes do arquivo dentro da sua versão major — uma edição, um só Desfazer.
- Todos os arquivos de pacotes:
.csproj,.vbproj,.fsproj,Directory.Packages.props(gerenciamento central de pacotes),.props,.targetsepackages.config;Version="$(ContosoVersion)"é resolvido a partir do arquivo. - As suas fontes de pacotes do NuGet.config, respostas guardadas entre sessões, uma chave para trabalhar offline.
Versões no fim da linha
Após cada linha PackageReference, PackageVersion e package: nada chamativo quando o pacote está atualizado; caso contrário, a versão mais recente na cor do salto. Versões não listadas nunca são oferecidas; pré-lançamentos só para pacotes que já usam um, a menos que uma configuração diga o contrário.

| Após a linha | Significado |
|---|---|
| ✓ mais recente | O pacote está na sua versão mais recente. |
| → 8.0.4 patch | Só o terceiro número muda: correções. |
| → 6.5.1 minor | O segundo número muda: novos recursos, sem alterações incompatíveis previstas. |
| → 5.0.2 major | O primeiro número muda: é aqui que ficam as alterações incompatíveis. |
| ⚠ vulnerável · alta | A versão em uso tem uma vulnerabilidade de segurança conhecida, com a sua gravidade. |
| preterido · use … | Os autores preteriram o pacote e indicam aquele a usar no lugar. |
Um cartão ao passar o mouse
Pare o ponteiro sobre uma versão no código ou sobre o texto após a linha: o cartão mostra a descrição, a versão mais recente de cada linha mais nova (10.0.13, 9.0.10, 8.0.21 para um pacote na 8.0.0) com a sua data, quantas outras versões mais novas existem, a vulnerabilidade com a atualização mais próxima sem ela e os botões Atualizar para …, Abrir no nuget.org e Site do projeto. Um clique em qualquer versão da lista a define.

Atualização com Ctrl+.
Cursor numa linha de pacote, Ctrl+.: o patch, o minor e o major mais recentes são oferecidos separadamente, então a atualização segura está sempre a uma tecla de distância. Atualizar todos os pacotes deste arquivo dentro da versão major leva cada pacote à sua versão mais recente do mesmo major — os majors continuam sendo uma decisão à parte. Uma versão vinda de uma propriedade ($(ContosoVersion)) é atualizada onde o arquivo a define. O arquivo é editado como numa alteração manual: Desfazer funciona, e o Visual Studio restaura os pacotes como de costume.

Configurações
Ferramentas → Opções → SmithWorks → PackageSmith. Cada opção tem uma descrição.
| Opção | Padrão |
|---|---|
| Mostrar a versão mais recente após cada pacote | ativado |
| Marcar pacotes atualizados com "✓ mais recente" | ativado |
| Oferecer versões de pré-lançamento a todos os pacotes | desativado |
| Marcar pacotes não encontrados nas suas fontes | desativado |
| Sinalizar pacotes vulneráveis e preteridos | ativado |
| Cartão ao passar o mouse | ativado |
| Atualizar com Ctrl+. | ativado |
| Verificar de novo após | 1 hora |
| Offline | desativado |
| Pedir uma avaliação no Marketplace | ativado |
As configurações ficam em %LocalAppData%\PackageSmith, e as versões em cache ao lado delas.

Perguntas frequentes
O PackageSmith envia algum dado?
Ele pergunta às suas fontes de pacotes (do NuGet.config; o nuget.org se não houver um) as versões dos pacotes dos seus arquivos — as mesmas requisições que o Visual Studio faz ao restaurá-los. Nada mais é enviado: sem telemetria, sem nomes de projetos, nada sobre você. Com Offline ativado, nenhuma requisição é feita.
O feed da minha empresa exige login. Funciona?
Ainda não: feeds que exigem credenciais são ignorados, e os seus pacotes ficam sem anotação — nenhuma resposta errada é mostrada. Feeds v3 públicos (nuget.org, feeds abertos de empresas) funcionam.
Por que não aparece nada após alguns pacotes?
Nada é escrito quando a versão é um intervalo ou um curinga ([1.0,2.0), 13.*), quando uma propriedade é definida em outro arquivo ou quando nenhuma fonte respondeu. Ative Marcar pacotes não encontrados nas suas fontes para ver os pacotes que todas as fontes responderam não ter.
Funciona com o gerenciamento central de pacotes?
Sim: as versões são mostradas no Directory.Packages.props após cada PackageVersion, e o VersionOverride num projeto também é mostrado.
A atualização restaura os pacotes?
O PackageSmith só edita o arquivo. O Visual Studio restaura os pacotes após a alteração, como quando você edita a versão à mão.
Funciona junto com o LensSmith?
Sim. Os dois escrevem no fim das linhas, então dividem esse espaço: a versão vem primeiro, e um aviso do NuGet do LensSmith depois dela.
Onde relato um problema ou sugiro um recurso?
Abra um issue no repositório Feedback no GitHub — há formulários para bugs e ideias (troque os nomes privados). Você também pode usar a guia Q&A no Marketplace.
Histórico de alterações
1.0.1
- Um pedido único de avaliação no Marketplace, depois que a extensão tiver sido útil — com Mais tarde e Não perguntar novamente, e uma opção para desativá-lo.
1.0.0
- Primeira versão pública.