Se ha eliminado la implementación de BinaryFormatter y siempre produce excepciones
La implementación de BinaryFormatter "integrada" ahora produce excepciones en tiempo de ejecución en todos los casos. Esta es la fase final del plan de obsolescencia de BinaryFormatter.
Comportamiento anterior
Puede construir una instancia de BinaryFormatter y usarla para serializar y deserializar cargas.
Comportamiento nuevo
A partir de .NET 9, la implementación integrada de BinaryFormatter produce excepciones al usarla, incluso con la configuración que anteriormente habilitaba su uso. También se quitan esas configuraciones.
Versión introducida
.NET 9 Versión preliminar 6
Tipo de cambio importante
Este es un cambio de funcionamiento.
Motivo del cambio
BinaryFormatter
es un formato no seguro y la causa de muchos errores de seguridad. Quitarlo del marco aumenta la seguridad general de .NET.
Acción recomendada
Si el código usa BinaryFormatter
, debe seleccionar un nuevo formato de serialización y migrar el código.
Si considera que el riesgo de BinaryFormatter
es aceptable para los casos de uso y se compromete a usar una clase que no se puede proteger, seguirá siendo capaz de usar BinaryFormatter
a través de un paquete NuGet independiente y no compatible.
Para obtener más información, incluida la guía sobre serializadores alternativos, consulte la guía de migración de BinaryFormatter.
API afectadas
Consulte también
- Anuncio: BinaryFormatter será eliminado en .NET 9
- BinaryFormatter deshabilitado en la mayoría de los tipos de proyecto (.NET 8)
- Las API de serialización BinaryFormatter producen errores del compilador (.NET 7)
- SerializationFormat.Binary está obsoleto (.NET 7)
- Los métodos de serialización BinaryFormatter están obsoletos y se prohíben en las aplicaciones ASP.NET (.NET 5)