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.

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