BinaryFormatter устарел, что делать?
Начиная с .NET 5 BinaryFormatter объявлен устаревшим из-за небезопасности.
Рекомендуемый путь - переключение на protobuf, вот здесь есть обсуждение.
Что непонятно: как переписать сериализацию и десериализацию так, чтобы была совместимость со старыми файлами, созданными с помощью BinaryFormatter?
Ответы (1 шт):
Ответ по итогу обсуждения в комментариях:
Лучше отказаться от
BinaryFormatterи перейти на другой метод сериализации и десериализации, более новый/безопасный.При переходе на новый формат совместимости со старыми данными не будет.
Если все же нужно сохранить
BinaryFormatter(и данные никуда не передаются/какой-то внутренний формат, т.е. особых требований по безопасности нет), то в файл проекта нужно включить:
<EnableUnsafeBinaryFormatterSerialization>true</EnableUnsafeBinaryFormatterSerialization>