Implementazione in box BinaryFormatter rimossa e generata sempre
L'implementazione "in box" BinaryFormatter genera ora eccezioni in fase di esecuzione in tutti i casi. Questa è la fase finale del piano di obsoletion BinaryFormatter.
Comportamento precedente
È possibile costruire un'istanza BinaryFormatter e usarla per serializzare e deserializzare i payload.
Nuovo comportamento
A partire da .NET 9, l'implementazione predefinita BinaryFormatter genera eccezioni in uso, anche con le impostazioni che in precedenza ne abilitano l'uso. Tali impostazioni vengono rimosse anche.
Versione introdotta
.NET 9 Anteprima 6
Tipo di modifica che causa un'interruzione
Questa è una modifica funzionale.
Motivo della modifica
BinaryFormatter
è un formato non sicuro e la causa di molti bug di sicurezza. La rimozione dal framework aumenta la sicurezza complessiva di .NET.
Azione consigliata
Se il codice usa BinaryFormatter
, è necessario selezionare un nuovo formato di serializzazione ed eseguire la migrazione del codice.
Se si valuta il rischio di BinaryFormatter
accettabile per i casi d'uso e ci si impegna a usare una classe che non può essere resa sicura, sarà comunque possibile usare BinaryFormatter
tramite un pacchetto NuGet separato e non supportato.
Per altre informazioni, incluse le linee guida sui serializzatori alternativi, vedere la guida alla migrazione di BinaryFormatter.
API interessate
Vedi anche
- Annuncio: BinaryFormatter viene rimosso in .NET 9
- BinaryFormatter disabilitato nella maggior parte dei tipi di progetto (.NET 8)
- Le API di serializzazione BinaryFormatter generano errori del compilatore (.NET 7)
- SerializationFormat.Binary è obsoleto (.NET 7)
- I metodi di serializzazione BinaryFormatter sono obsoleti (.NET 5)