Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A biztonsági résekBinaryFormattermiatt a következő API-k elavultként lettek megjelölve a .NET 5-ben. A kódban való használat figyelmeztetést vagy hibát SYSLIB0011 eredményez fordításkor.
- System.Exception.SerializeObjectState
- BinaryFormatter.Serialize
- BinaryFormatter.Deserialize
- Formatter.Serialize(Stream, Object)
- Formatter.Deserialize(Stream)
- IFormatter.Serialize(Stream, Object)
- IFormatter.Deserialize(Stream)
A .NET 8-tól BinaryFormatter.SerializeBinaryFormatter.Deserialize kezdve a legtöbb projekttípusnál futásidőben is indíthat NotSupportedException . Ezenkívül PreserializedResourceWriter.AddBinaryFormattedResource(String, Byte[], String)figyelmeztetésként elavult, és a következő API-k hibaként elavultak:
- System.Runtime.Serialization.Formatter
- System.Runtime.Serialization.IFormatter
- System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
Áthidaló megoldások
Ha használja BinaryFormatter, a biztonsági és megbízhatósági hiányosságok miatt érdemes más megoldást választani. További információ: Deszerializálási kockázatok a BinaryFormatter és a kapcsolódó típusok éselőnyben részesített alternatívák használatában.
Figyelmeztetés mellőzése
Ha az elavult API-kat kell használnia, letilthatja a figyelmeztetést/hibát a kódban vagy a projektfájlban.
Ha csak egyetlen szabálysértést szeretne letiltani, adjon hozzá előfeldolgozási irányelveket a forrásfájlhoz, hogy letiltsa, majd engedélyezze újra a figyelmeztetést.
// Disable the warning.
#pragma warning disable SYSLIB0011
// Code that uses obsolete API.
// ...
// Re-enable the warning.
#pragma warning restore SYSLIB0011
Ha el szeretné tiltani a projekt összes SYSLIB0011 figyelmeztetését, adjon hozzá egy <NoWarn> tulajdonságot a projektfájlhoz.
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
...
<NoWarn>$(NoWarn);SYSLIB0011</NoWarn>
</PropertyGroup>
</Project>
További információ: Figyelmeztetések letiltása.