다음을 통해 공유


.NET 9의 호환성이 손상되는 변경

앱을 .NET 9로 마이그레이션하는 경우 여기에 나열된 호환성이 손상되는 변경이 영향을 줄 수 있습니다. 변경 내용은 ASP.NET Core 또는 Windows Forms와 같은 기술 영역별로 그룹화됩니다.

이 문서에서는 각 호환성이 손상되는 변경을 이진 파일 비호환, 원본 비호환 또는 동작 변경으로 분류합니다.

  • 이진 파일 비호환 - 새 런타임이나 구성 요소에 대해 실행할 때 기존 이진 파일의 동작이 크게 변경될 수 있습니다(예: 로드 또는 실행 실패). 그런 경우 다시 컴파일이 필요합니다.

  • 원본 비호환 - 새 SDK 또는 구성 요소를 사용하여 다시 컴파일하거나 새 런타임을 대상으로 하는 경우 기존 소스 코드를 성공적으로 컴파일하려면 원본을 변경해야 할 수도 있습니다.

  • 동작 변경 - 기존 코드와 이진 파일은 런타임 시 다르게 동작할 수 있습니다. 새로운 동작이 바람직하지 않은 경우 기존 코드를 업데이트하고 다시 컴파일해야 합니다.

참고 항목

이 문서는 작성 중입니다. .NET 9의 호환성이 손상되는 변경의 완전한 목록이 아닙니다. 여전히 게시 보류 중인 호환성이 손상되는 변경을 쿼리하려면 .NET의 문제를 참조하세요.

ASP.NET Core

타이틀 변경 형식 도입된 버전
DefaultKeyResolution.ShouldGenerateNewKey의 의미가 변경되었습니다. 동작 변경 미리 보기 3
HostBuilder는 개발 환경에서 ValidateOnBuild/ValidateScopes를 사용하도록 설정함 동작 변경 미리 보기 7

컨테이너

타이틀 변경 형식 도입된 버전
.NET 9 컨테이너 이미지는 더 이상 zlib를 설치하지 않음 동작 변경 미리 보기 7

핵심 .NET 라이브러리

타이틀 변경 형식 도입된 버전
CompressionLevel을 사용하여 ZipArchiveEntry를 추가하면 ZIP 중앙 디렉터리 헤더 범용 비트 플래그가 설정됨 동작 변경 미리 보기 5
비개방형 제네릭에 대한 UnsafeAccessor 지원이 변경됨 동작 변경 미리 보기 6
사용자 지정 진단 ID를 사용한 API 폐기 원본이 호환되지 않음 (다중)
BigInteger 최대 길이 동작 변경 미리 보기 6
BinaryReader.GetString()은 잘못된 형식의 시퀀스에서 "\uFFFD"를 반환합니다. 동작 변경 미리 보기 7
System.Void 배열 형식을 만들 수 없음 동작 변경 미리 보기 1
다음으로 표시된 형식에 대한 기본 Equals()GetHashCode() throw InlineArrayAttribute 동작 변경 미리 보기 6
EnumConverter는 등록된 형식이 열거형이 되도록 유효성을 검사합니다. 동작 변경 미리 보기 7
FromKeyedServicesAttribute는 키가 지정되지 않은 매개 변수를 더 이상 삽입하지 않음 동작 변경 RC 1
IncrementingPollingCounter 초기 콜백은 비동기적임 동작 변경 RC 1
인라인 배열 구조체 크기 제한이 적용됨 동작 변경 미리 보기 1
InMemoryDirectoryInfo는 파일 앞에 rootDir을 추가 동작 변경 미리 보기 1
정수를 가지는 New TimeSpan.From*() 오버로드 원본이 호환되지 않음 미리 보기 3
RuntimeHelpers.GetSubArray가 다른 형식을 반환함 동작 변경 미리 보기 1
String.Trim(params ReadOnlySpan<char>) 오버로드가 제거됨 원본/이진 파일 비호환 GA
빈 환경 변수에 대한 지원 동작 변경 미리 보기 6
ZipArchiveEntry 이름 및 주석은 UTF8 플래그를 따름 동작 변경 RC 1

암호화

타이틀 변경 형식 도입된 버전
SafeEvpPKeyHandle.DuplicateHandle은 핸들을 상위 참조함 동작 변경 미리 보기 7
일부 X509Certificate2 및 X509Certificate 생성자는 사용되지 않음 원본이 호환되지 않음 미리 보기 7
Windows 프라이빗 키 기본 수명 동작 변경 미리 보기 7

배포

타이틀 변경 형식 도입된 버전
사용 중단된 데스크톱 Windows/macOS/Linux MonoVM 런타임 패키지 원본이 호환되지 않음 미리 보기 7

Interop

타이틀 변경 형식 도입된 버전
기본적으로 지원되는 CET 이진 파일 비호환 미리 보기 6

JIT 컴파일러

타이틀 변경 형식 도입된 버전
부동 소수점에서 정수로의 변환이 포화 상태임 동작 변경 미리 보기 4
일부 SVE API가 제거됨 원본이 호환되지 않음 RC 2

네트워킹

타이틀 변경 형식 도입된 버전
API 사용되지 않음 원본이 호환되지 않음 미리 보기 6
HttpClient 메트릭은 무조건 보고 server.port 합니다. 동작 변경 미리 보기 7
HttpClientFactory 로깅은 기본적으로 헤더 값을 수정함 동작 변경 RC 1
HttpClientFactory는 SocketsHttpHandler를 기본 처리기로 사용합니다. 동작 변경 미리 보기 6
HttpListenerRequest.UserAgent가 null 허용임 원본이 호환되지 않음 미리 보기 1
HttpClient EventSource 이벤트의 URI 쿼리 편집 동작 변경 미리 보기 7
IHttpClientFactory 로그의 URI 쿼리 편집 동작 변경 미리 보기 7

SDK 및 MSBuild

타이틀 변경 형식 도입된 버전
dotnet workload 명령 출력 변경 동작 변경 미리 보기 1
installer 리포지토리 버전이 더 이상 문서화되지 않음 동작 변경 미리 보기 5
터미널 로거가 기본값임 동작 변경 미리 보기 1
.NET Standard 1.x에 대해 내보낸 경고 원본이 호환되지 않음 미리 보기 6

직렬화

타이틀 변경 형식 도입된 버전
BinaryFormatter는 항상 throw함 동작 변경 미리 보기 6

Windows Forms

타이틀 변경 형식 도입된 버전
BindingSource.SortDescriptions가 null을 반환하지 않음 동작 변경 미리 보기 1
Null 허용 여부 주석 변경 내용 원본이 호환되지 않음 미리 보기 1
ComponentDesigner.Initialize가 ArgumentNullException을 throw함 동작 변경 미리 보기 1
DataGridViewRowAccessibleObject.Name 시작 행 인덱스 동작 변경 미리 보기 1
IMsoComponent 지원 옵트인 동작 변경 Preview 2
새 보안 분석기 원본이 호환되지 않음 RC 1
DataGridView가 null인 경우 예외 없음 동작 변경 미리 보기 1
PictureBox에서 HttpClient 예외 발생 동작 변경 미리 보기 6

WPF

타이틀 변경 형식 도입된 버전
GetXmlNamespaceMaps 형식 변경 동작 변경/원본 비호환 미리 보기 3

참고 항목