.NET 9.0'da yeni [30]: İkili serileştirme, belirsizlik faktörü kaldırıldı

Womanne

Member
Sınıfla ikili serileştirme BinaryFormatter Zaten .NET Framework 1.0 ve ayrıca geçerli .NET Framework 4.8.1'de mevcuttur. .NET Core 1.0'a dahil edilmemiştir, ancak bu nedenle müşteri yazdırmasında .NET Core 2.0 ile modern .NET'e entegre edilmiştir.






Dotnet Doctor-Holger Schwichtenberg




Holger Schwichtenberg, 53 ünlü uzmanla tavsiye ve eğitim yoluyla ve yazılımın geliştirilmesinde çok sayıda orta ve büyük şirketi destekleyen uzmanlar ağının teknik direktörüdür. Çok sayıda ulusal ve uluslararası uzman konferansındaki görünümleri, 90'dan fazla uzman kitabı ve 1.500'den fazla uzman makalesi sayesinde Holger Schwichtenberg, Almanya'daki .NET ve Web teknikleri için en iyi uzmanlardan biridir.








Enterjs Gelişmiş Angular Günü



(Resim: Coffeemill/123rf.com)


.NET 10.0'da geliştirilmiş sınıflar, Varlık Framework Core 10.0 ve daha fazlası ile yerel AOT: Dr. Holger Schwichtenberg ve Bettecode çevrimiçi konferansının () diğer hatiplerini bilgilendirin.







.NET 5.0'dan “eski” olarak işaretlendi ve bir uyarı oluşturdu. .NET 8.0 zaten derleyicinin bir hatası olduğundan BinaryFormatter Bastırılmış olan yaratıldı.





Sınıfta ikili formun kullanılması derleyicinin bir hatasını oluşturur.



Sınıfta ikili formun kullanılması derleyicinin bir hatasını oluşturur.



Bunun nedeni, 2012 yılında bu tür serileştirme konusunda Black Hat Konferansı'na gösterilen güvenlik boşluklarıdır.

Microsoft, Şubat 2024'te Github'da, sınıfla ikili serileştirme duyurdu BinaryFormatter .NET 9.0'ı kaldırmak için. Sınıf hala .NET 9.0'da mevcuttur ve derleyici hatası bastırılmaya devam edebilir, ancak tüm kullanımlar “işlenmemiş platform” hatası terimini getirin.

Microsoft, şirketin XML, Message Pack ve ProtoBF gibi diğer serileştirme formatlarına geçiş yapmayı önerdiği eğitimde bir ikili göç kılavuzu yayınladı.







Microsoft, .Net Conf 2024'e çok açık bir şekilde dedi: & quot; Kullanmayı bırak! & Quot;



Microsoft açıkça .net Conf 2024'e şunları söyledi: “Onu kullanmayı bırak!”


(Resim: Microsoft)



Windows Forms ve Windows Sunum Vakfı (WPF) ile etkileşimde özel bir zorluk artar, çünkü GUI'nin her iki çerçevesinde, Notlar için ikili serileştirme, sürtünme ve benzeri ve Windows modüllerinin tasarımcısı ve WPF navigasyon günlüğündeki geliştirme süreleri için değerleri kaydetmek. Microsoft bazı temel türler için serileştirmeyi zaten değiştirmiş olsa da, geliştiriciler diğer türlerde bir göç çabası beklemelidir.



Mevcut program kodunu taşıma istemiyorsanız, System.Runtime.Serialization.Formatters İkili serileştirmeyi entegre edin ve kullanmaya devam edin. Bunu yapmak için, proje dosyasına aşağıdakileri girmelisiniz:



<PropertyGroup>
<EnableUnsafeBinaryFormatterSerialization>true
</EnableUnsafeBinaryFormatterSerialization>
</PropertyGroup>



Tehlike: Güvenlik eksikliğine ek olarak Microsoft, bunun sınıf için olduğunu vurguluyor BinaryFormatter Artık Microsoft Desteği konusunda artık yardım yok.

Nuget paketine alternatif olarak System.Runtime.Serialization.Formatters Microsoft başka bir paket sunuyor System.Formats.Nrbf sınıfla NrbfDecoder İLE,, İkili verileri güvenli bir şekilde okumak için. Ancak, bu paket çok sayıda kısıtlamaya tabidir.





İkili formatı kullanan program kodunun derlenmesi .NET 9.0'da artık mümkün değildir.



İkili formatı kullanan program kodunun derlenmesi .NET 9.0'da artık mümkün değildir.




(RME)




Ne yazık ki, bu bağlantı artık geçerli değil.

Boşa harcanan eşyalara olan bağlantılar, 7 günlük daha büyükse veya çok sık çağrılmışsa gerçekleşmez.


Bu makaleyi okumak için bir Haberler+ paketine ihtiyacınız var. Şimdi yükümlülük olmadan bir hafta deneyin – yükümlülük olmadan!
 
Üst