기본 제공 BinaryFormatter 구현이 제거되고 항상 throw됨

이제 "in box" BinaryFormatter 구현은 모든 경우에 런타임에 예외를 throw합니다. 이 단계는 BinaryFormatter 사용되지 않는 계획의 마지막 단계입니다.

이전 동작

인스턴스를 BinaryFormatter 생성하고 이를 사용하여 페이로드를 직렬화하고 역직렬화할 수 있습니다.

새 동작

.NET 9부터 기본 BinaryFormatter 제공 구현은 이전에 사용을 사용하도록 설정한 설정에서도 사용 시 예외를 throw합니다. 이러한 설정도 제거됩니다.

도입된 버전

.NET 9 미리 보기 6

호환성이 손상되는 변경의 형식

이 변경 사항은 동작 변경입니다.

변경 이유

BinaryFormatter 는 안전하지 않은 형식이며 많은 보안 버그의 원인입니다. 프레임워크에서 제거하면 .NET의 전반적인 안전이 향상됩니다.

코드에서 사용하는 BinaryFormatter경우 새 serialization 형식을 선택하고 코드를 마이그레이션해야 합니다.

사용 사례에 허용되는 위험을 BinaryFormatter 판단하고 안전하게 만들 수 없는 클래스를 사용하기 위해 최선을 다하고 있는 경우 지원되지 않는 별도의 NuGet 패키지를 통해 계속 사용할 BinaryFormatter 수 있습니다.

대체 serializer에 대한 지침을 비롯한 자세한 내용은 BinaryFormatter 마이그레이션 가이드를 참조하세요.

영향을 받는 API

참고 항목