.NET 9의 호환성이 손상되는 변경
앱을 .NET 9로 마이그레이션하는 경우 여기에 나열된 호환성이 손상되는 변경이 영향을 줄 수 있습니다. 변경 내용은 ASP.NET Core 또는 Windows Forms와 같은 기술 영역별로 그룹화됩니다.
이 문서에서는 각 호환성이 손상되는 변경을 이진 파일 비호환, 원본 비호환 또는 동작 변경으로 분류합니다.
이진 파일 비호환 - 새 런타임이나 구성 요소에 대해 실행할 때 기존 이진 파일의 동작이 크게 변경될 수 있습니다(예: 로드 또는 실행 실패). 그런 경우 다시 컴파일이 필요합니다.
원본 비호환 - 새 SDK 또는 구성 요소를 사용하여 다시 컴파일하거나 새 런타임을 대상으로 하는 경우 기존 소스 코드를 성공적으로 컴파일하려면 원본을 변경해야 할 수도 있습니다.
동작 변경 - 기존 코드와 이진 파일은 런타임 시 다르게 동작할 수 있습니다. 새로운 동작이 바람직하지 않은 경우 기존 코드를 업데이트하고 다시 컴파일해야 합니다.
참고 항목
이 문서는 작성 중입니다. .NET 9의 호환성이 손상되는 변경의 완전한 목록이 아닙니다. 여전히 게시 보류 중인 호환성이 손상되는 변경을 쿼리하려면 .NET의 문제를 참조하세요.
ASP.NET Core
타이틀 | 변경 형식 | 도입된 버전 |
---|---|---|
DefaultKeyResolution.ShouldGenerateNewKey의 의미가 변경되었습니다. | 동작 변경 | 미리 보기 3 |
Dev cert 내보내기가 더 이상 폴더를 만들지 않음 | 동작 변경 | RC 1 |
HostBuilder는 개발 환경에서 ValidateOnBuild/ValidateScopes를 사용하도록 설정함 | 동작 변경 | 미리 보기 7 |
레거시 Mono 및 Emscripten API를 전역 네임스페이스 내보내지 않음 | 원본이 호환되지 않음 | GA |
여러 생성자가 있는 미들웨어 형식 | 동작 변경 | RC 1 |
컨테이너
타이틀 | 변경 형식 | 도입된 버전 |
---|---|---|
컨테이너 이미지는 더 이상 zlib을 설치하지 않습니다. | 동작 변경 | 미리 보기 7 |
.NET Monitor 이미지가 버전 전용 태그로 간소화됨 | 동작 변경 | 미리 보기 5 |
핵심 .NET 라이브러리
암호화
타이틀 | 변경 형식 | 도입된 버전 |
---|---|---|
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 restore 전이적 패키지 감사 |
동작 변경 | 미리 보기 6 |
dotnet sln add 잘못된 파일 이름 허용하지 않습니다. |
동작 변경 | 9.0.2xx |
dotnet watch 이전 프레임워크에 대한 핫 다시 로드 호환되지 않음 |
동작 변경 | RC 1 |
dotnet workload 명령 출력 변경 |
동작 변경 | 미리 보기 1 |
installer 리포지토리 버전이 더 이상 문서화되지 않음 |
동작 변경 | 미리 보기 5 |
새 기본 RID는 .NET Framework 대상으로 지정할 때 사용됩니다. | 원본이 호환되지 않음 | GA |
터미널 로거가 기본값임 | 동작 변경 | 미리 보기 1 |
.NET 9 SDK에 대한 버전 요구 사항 | 원본이 호환되지 않음 | GA |
.NET Standard 1.x 대상에 대해 내보낸 경고 | 원본이 호환되지 않음 | 미리 보기 6 |
.NET 7 대상에 대해 내보낸 경고 | 원본이 호환되지 않음 | GA |
직렬화
타이틀 | 변경 형식 | 도입된 버전 |
---|---|---|
BinaryFormatter는 항상 throw함 | 동작 변경 | 미리 보기 6 |
Nullable JsonDocument 속성은 JsonValueKind.Null로 역직렬화됩니다. | 동작 변경 | 미리 보기 1 |
System.Text.Json 메타데이터 판독기가 이제 메타데이터 속성 이름의 이스케이프를 해제합니다 | 동작 변경 | GA |
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 |
StatusStrip은 다른 기본 렌더러 사용합니다. | 동작 변경 | GA |
WPF
타이틀 | 변경 형식 | 도입된 버전 |
---|---|---|
GetXmlNamespaceMaps 형식 변경 |
동작 변경/원본 비호환 | 미리 보기 3 |
참고 항목
GitHub에서 Microsoft와 공동 작업
이 콘텐츠의 원본은 GitHub에서 찾을 수 있으며, 여기서 문제와 끌어오기 요청을 만들고 검토할 수도 있습니다. 자세한 내용은 참여자 가이드를 참조하세요.
.NET