기본 제공 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
참고 항목
GitHub에서 Microsoft와 공동 작업
이 콘텐츠의 원본은 GitHub에서 찾을 수 있으며, 여기서 문제와 끌어오기 요청을 만들고 검토할 수도 있습니다. 자세한 내용은 참여자 가이드를 참조하세요.
.NET