Compartilhar via


Implementação do BinaryFormatter nativo removida e sempre é gerada

A implementação do BinaryFormatter "nativo" agora gera exceções em tempo de execução em todos os casos. Este é o estágio final do Plano de obsolescência do BinaryFormatter.

Comportamento anterior

É possível construir uma instância BinaryFormatter e usá-la para serializar e desserializar cargas.

Novo comportamento

A partir do .NET 9, a implementação do BinaryFormatter nativo gera exceções ao uso, mesmo com as configurações que habilitaram seu uso anteriormente. Essas configurações também são removidas.

Versão introduzida

.NET 9 Preview 6

Tipo de alteração interruptiva

Esta é uma alteração comportamental.

Motivo da alteração

BinaryFormatter é um formato inseguro e a causa de muitos bugs de segurança. Removê-lo da estrutura aumenta a segurança geral do .NET.

Se o código usar BinaryFormatter, você deverá selecionar um novo formato de serialização e migrar seu código.

Se você julgar o risco de BinaryFormatteraceitável para seus casos de uso e se comprometer a usar uma classe que não pode ser protegida, você ainda poderá usar BinaryFormatter por meio de um pacote NuGet separado e sem suporte.

Para obter mais informações, incluindo diretrizes sobre serializadores alternativos, consulte o guia de migração do BinaryFormatter.

APIs afetadas

Confira também