LazowskiAnton · Extensions

PackageSmith

NuGet paket sürümleri tam yazıldıkları yerde: her paket satırından sonra en yeni sürüm, üzerine gelince tüm geçmiş, Ctrl+. ile güncelleştirme; güvenlik açığı olan veya kullanım dışı paketler ise derleme fark etmeden önce işaretlenir.

Ücretsiz · Visual Studio 2022 ve 2026 · 14 arayüz dili · telemetri yok

Neden PackageSmith

Aynı proje dosyası, PackageSmith olmadan ve PackageSmith ile: paket satırlarından sonra en yeni sürümler

Eskiyenler bir bakışta

Neyin eskidiğini öğrenmek için NuGet penceresini açmaya gerek yok: en yeni sürüm her paketten sonra durur; patch için yeşil, minor için sarı, major için turuncu.

Önce güvenli güncelleştirmeler

Bilinen bir güvenlik açığı doğrudan satırda kırmızıdır ve onu düzelten en yakın sürüm gösterilir; kullanım dışı bir paket yerine geçecek paketi belirtir.

Yalnızca sizin kaynaklarınız

Sürümler NuGet.config dosyanızdaki paket kaynaklarından gelir: nuget.org veya şirketinizin akışı. Yalnızca paket adları ve sürümleri sorulur; sizin veya projeniz hakkında hiçbir şey gönderilmez.

Ücretsiz, koşulsuz

Abonelik yok, “pro” sürüm yok, veri toplama yok, Çıktı penceresinde ya da başlangıçta mesaj yok. Sizden isteyeceğimiz tek şey — bir süre kullandıktan sonra — Marketplace'te bir değerlendirme. Visual Studio 2022 ve 2026'da, x64 ve ARM64 üzerinde çalışır.

Özellikler

Satır sonunda sürümler

Her PackageReference, PackageVersion ve package satırından sonra: paket güncelse göze batan bir şey yok, değilse adımın renginde en yeni sürüm. Listelenmemiş sürümler asla önerilmez; ön sürümler, bir ayar aksini söylemedikçe yalnızca zaten ön sürüm kullanan paketlere önerilir.

En yeni sürümleri, güvenlik açığı olan bir paketi ve kullanım dışı bir paketi gösteren bir Directory.Packages.props dosyası
Satırdan sonraAnlamı
✓ en yeniPaket en yeni sürümünde.
→ 8.0.4 patchYalnızca üçüncü sayı değişir: düzeltmeler.
→ 6.5.1 minorİkinci sayı değişir: yeni özellikler, uyumsuz değişiklik amaçlanmaz.
→ 5.0.2 majorİlk sayı değişir: uyumsuz değişiklikler buradadır.
⚠ güvenlik açığı · yüksekKullanılan sürümde bilinen bir güvenlik açığı var; önem derecesiyle birlikte.
kullanım dışı · … kullanınYazarlar paketi kullanım dışı bıraktı ve yerine kullanılacak paketi belirtiyor.

Üzerine gelince kart

İşaretçiyi koddaki bir sürümün ya da satırdan sonraki metnin üzerinde tutun: kart açıklamayı, daha yeni her serinin en yeni sürümünü (8.0.0 kullanan bir paket için 10.0.13, 9.0.10, 8.0.21) tarihiyle, daha kaç yeni sürüm olduğunu, güvenlik açığını ve onu içermeyen en yakın güncelleştirmeyi, ayrıca … sürümüne güncelleştir, nuget.org'da aç ve Proje sitesi düğmelerini gösterir. Listedeki herhangi bir sürüme tıklamak onu ayarlar.

Her serinin en yeni sürümüyle, güvenlik açığı olan bir paketin kartı

Ctrl+. ile güncelleştirme

İmleç bir paket satırında, Ctrl+.: en yeni patch, en yeni minor ve en yeni major ayrı ayrı önerilir; böylece güvenli güncelleştirme her zaman bir tuş uzaklıktadır. Bu dosyadaki her paketi kendi major sürümü içinde güncelleştir her paketi aynı major içindeki en yeni sürümüne taşır; major geçişleri ayrı bir karar olarak kalır. Bir özellikten gelen sürüm ($(ContosoVersion)) dosyanın onu tanımladığı yerde güncelleştirilir. Dosya elle yapılan bir değişiklik gibi düzenlenir: Geri Al çalışır ve Visual Studio paketleri her zamanki gibi geri yükler.

Bir paketin patch, minor ve major güncelleştirmelerini gösteren ampul

Ayarlar

Araçlar → Seçenekler → SmithWorks → PackageSmith. Her seçeneğin bir açıklaması vardır.

SeçenekVarsayılan
Her paketten sonra en yeni sürümü gösteraçık
Güncel paketleri "✓ en yeni" ile işaretleaçık
Her pakete ön sürümler önerkapalı
Kaynaklarınızda bulunamayan paketleri işaretlekapalı
Güvenlik açığı olan ve kullanım dışı paketleri işaretleaçık
Üzerine gelince kartaçık
Ctrl+. ile güncelleştiraçık
Yeniden denetleme aralığı1 saat
Çevrimdışıkapalı
Marketplace'te değerlendirme isteaçık

Ayarlar %LocalAppData%\PackageSmith klasöründe, önbelleğe alınan sürümler de yanlarında saklanır.

PackageSmith seçenekler sayfası
Seçenekler sayfası.

SSS

PackageSmith herhangi bir veri gönderiyor mu?

Dosyalarınızdaki paketlerin sürümlerini paket kaynaklarınıza (NuGet.config dosyasından; yoksa nuget.org) sorar; Visual Studio'nun paketleri geri yüklerken yaptığı isteklerin aynısı. Başka hiçbir şey gönderilmez: telemetri yok, proje adı yok, sizinle ilgili hiçbir şey yok. Çevrimdışı açıkken hiç istek yapılmaz.

Şirketimin akışı oturum açmayı gerektiriyor. Çalışır mı?

Henüz değil: kimlik bilgisi isteyen akışlar atlanır ve paketleri sade kalır; yanlış bir yanıt gösterilmez. Herkese açık v3 akışları (nuget.org, açık şirket akışları) çalışır.

Neden bazı paketlerden sonra hiçbir şey yok?

Sürüm bir aralık veya joker karakter olduğunda ([1.0,2.0), 13.*), bir özellik başka bir dosyada tanımlandığında ya da hiçbir kaynak yanıt vermediğinde hiçbir şey yazılmaz. Her kaynağın kendisinde olmadığını bildirdiği paketleri görmek için Kaynaklarınızda bulunamayan paketleri işaretle seçeneğini açın.

Merkezi paket yönetimiyle çalışır mı?

Evet: sürümler Directory.Packages.props içinde her PackageVersion satırından sonra gösterilir; bir projedeki VersionOverride da gösterilir.

Güncelleştirme paketleri geri yükler mi?

PackageSmith yalnızca dosyayı düzenler. Visual Studio, sürümü elle düzenlediğinizde olduğu gibi, değişiklikten sonra paketleri geri yükler.

LensSmith ile birlikte çalışır mı?

Evet. İkisi de satır sonlarına yazar, bu yüzden o alanı paylaşırlar: önce sürüm, ardından LensSmith'in bir NuGet uyarısı gelir.

Bir sorunu nereye bildirebilir veya özellik önerebilirim?

GitHub'daki Feedback deposunda bir issue açın; hatalar ve fikirler için formlar vardır (özel adları değiştirin). Marketplace'teki Q&A sekmesini de kullanabilirsiniz.

Değişiklik günlüğü

1.0.1

1.0.0