NAudio 3.3.0 ile Windows'a özgü hedef çatıları (TFM) sadeleşiyor
NAudio 3.3.0 önizlemesinde meta-paket tek bir net9.0 hedefine iniyor ve Windows'a özgü API'ler [SupportedOSPlatform] ile işaretleniyor. Kütüphane ayrıca nullable reference type desteğiyle tam olarak anotasyonlandı. Çapraz platform ve Windows projeleri için paket seçimini ve olası uyarıları bilmek gerekiyor.
Kilit noktalar
- NAudio meta-paketi 3.3.0 ile yalnızca net9.0 hedefler; netX.0-windows hedefi kaldırılıyor.
- Windows'a özgü API'ler artık [SupportedOSPlatform] ile işaretleniyor.
- Düz netX.0 Windows projelerinde CA1416 uyarıları görülebilir; OperatingSystem.IsWindows() ile giderilebilir.
- NAudio.WinForms ve NAudio.Dmo meta-pakete dahil değil; NAudio.Asio ayrı referans edilmeli.
- Linux/macOS için NAudio.Alsa, NAudio.MacOS ya da NAudio.SoundFile gibi alt paketleri doğrudan ekleyin.
- Nullable reference type anotasyonları eklendi; TreatWarningsAsErrors kullananlar null uyarılarını kontrol etmeli.
NAudio ekibinin ana paketi olan NAudio meta-paketi, NAudio 3.3.0 ile birlikte tek bir net9.0 hedefine indiriliyor. Paket NAudio.Core, NAudio.Midi, NAudio.WinMM ve NAudio.Wasapi paketlerini referans alıyor. Önceki sürümde netX.0-windows hedefi, düz netX.0 projelerinin Windows tiplerini hiç görememesine yol açıyordu; bu yüzden Windows'a özgü işaretleme artık TFM yerine [SupportedOSPlatform] ile yapılacak. NAudio.WinForms gibi gerçekten -windows hedefi gereken paketler meta-paketten çıkarıldı, NAudio.Dmo kaldırıldı, NAudio.Asio ise ayrı referans olarak bırakıldı.
Düz netX.0 hedefleyen Windows projeleri artık CA1416 uyarısı alabilir; bunlar -windows hedefiyle, assembly düzeyinde SupportedOSPlatform özniteliğiyle veya OperatingSystem.IsWindows() kontrolüyle giderilebilir. Linux ve macOS kullanıcıları ise yalnızca ihtiyaç duydukları alt paketleri (NAudio.Core ile NAudio.Alsa, NAudio.MacOS veya NAudio.SoundFile gibi) doğrudan eklemeli. Sürüm ayrıca nullable reference type anotasyonlarıyla tam kapsandı; uyarıları hata olarak işaretleyen projelerde yeni null uyarıları derlemeyi bozabilir.
Gerçek dünyada kullanımı
- Windows masaüstü uygulaması yazan ve düz netX.0 hedefleyen bir ses kayıt aracı.
- Hem Windows hem Linux'ta çalışan, NAudio.Core ve NAudio.Alsa kullanan bir ses işleme servisi.
- TreatWarningsAsErrors açık olan kurumsal bir projede NAudio sürüm yükseltmesi.
Neden önemli
Düz netX.0 hedefleyen projeler paket seçimini ve Windows koruma kodunu gözden geçirmeli. Uyarıları hata olarak işaretleyen projeler de yükseltme sırasında null uyarılarıyla karşılaşabilir.
Benzer haberler
- C# interface'lerinde collection dönüş tipleri: interface, view ve snapshot farkıNick Cosentino (Dev Leader)2 gün önce
- C#'ta List döngüsü: foreach, for, Index ve Span karşılaştırmasıKhalid Abuhakmeh6 gün önce
- PostSharp 2027.0'da advice parameter binding ile aspect'ler boxing olmadan çalışırMetalama / PostSharp Blog23 Eki