A implementação BinaryFormatter na caixa de entrada foi removida e sempre lança
A implementação "in box" BinaryFormatter agora lança exceções em tempo de execução em todos os casos. Esta é a etapa final do plano de obsolescência BinaryFormatter.
Comportamento anterior
Você pode construir uma BinaryFormatter instância e usá-la para serializar e desserializar cargas úteis.
Novo comportamento
A partir do .NET 9, a implementação in-box BinaryFormatter lança exceções no uso, mesmo com as configurações que anteriormente habilitavam seu uso. Essas configurações também são removidas.
Versão introduzida
.NET 9 Visualização 6
Tipo de mudança de rutura
Esta mudança é uma mudança comportamental.
Razão para a 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.
Ação recomendada
Se o código usar BinaryFormatter
o , você deverá selecionar um novo formato de serialização e migrar o código.
Se você julgar o risco aceitável para seus casos de uso e estiver comprometido em usar uma classe que não pode ser tornada segura, ainda poderá usar BinaryFormatter
por meio de BinaryFormatter
um pacote NuGet separado e sem suporte.
Para obter mais informações, incluindo orientação sobre serializadores alternativos, consulte o guia de migração BinaryFormatter.
APIs afetadas
Consulte também
- Anúncio: BinaryFormatter está sendo removido no .NET 9
- BinaryFormatter desabilitado na maioria dos tipos de projeto (.NET 8)
- As APIs de serialização BinaryFormatter produzem erros do compilador (.NET 7)
- SerializationFormat.Binary está obsoleto (.NET 7)
- Os métodos de serialização BinaryFormatter são obsoletos (.NET 5)