.NET 5의 호환성이 손상되는 변경
앱을 .NET 5로 마이그레이션하는 경우 여기에 나열된 호환성이 손상되는 변경이 영향을 줄 수 있습니다. 변경 내용은 ASP.NET Core 또는 암호화와 같은 기술 영역별로 그룹화됩니다.
이 문서에서는 각 호환성이 손상되는 변경이 이진 파일 호환인지 또는 원본 호환인지 여부를 나타냅니다.
- 이진 파일 호환 - 기존 이진 파일은 다시 컴파일 없이 성공적으로 로드 및 실행되며 런타임 동작은 변경되지 않습니다.
- 원본 호환 - 새 런타임을 대상으로 하거나 새 SDK 또는 구성 요소를 사용할 때 소스 코드는 변경 없이 성공적으로 컴파일됩니다.
ASP.NET Core
코드 분석
타이틀 | 이진 호환 가능 | 소스 호환 가능 |
---|---|---|
CA1416 경고 | ✔️ | ❌ |
CA1417 경고 | ✔️ | ❌ |
CA1831 경고 | ✔️ | ❌ |
CA2013 경고 | ✔️ | ❌ |
CA2014 경고 | ✔️ | ❌ |
CA2015 경고 | ✔️ | ❌ |
CA2200 경고 | ✔️ | ❌ |
CA2247 경고 | ✔️ | ❌ |
핵심 .NET 라이브러리
암호화
타이틀 | 이진 호환 가능 | 소스 호환 가능 |
---|---|---|
브라우저에서 지원되지 않는 암호화 API | ❌ | ✔️ |
Cryptography.Oid가 init 전용임 | ✔️ | ❌ |
Linux의 기본 TLS 암호 그룹 | ❌ | ✔️ |
암호화 추상화에 대한 Create() 오버 로드가 사용되지 않음 | ✔️ | ❌ |
기본 FeedbackSize 값이 변경됨 | ✔️ | ❌ |
Entity Framework Core
전역화
타이틀 | 이진 호환 가능 | 소스 호환 가능 |
---|---|---|
Windows에서 ICU 라이브러리 사용 | ❌ | ✔️ |
StringInfo 및 TextElementEnumerator가 UAX29 규격임 | ❌ | ✔️ |
라틴어-1 문자의 유니코드 범주가 변경됨 | ✔️ | ❌ |
TextInfo.ListSeparator 값이 변경됨 | ✔️ | ❌ |
Interop
타이틀 | 이진 호환 가능 | 소스 호환 가능 |
---|---|---|
WinRT에 대한 지원이 제거됨 | ❌ | ✔️ |
RCW를 InterfaceIsIInspectable로 캐스팅하면 예외가 throw됨 | ❌ | ✔️ |
비 Windows 플랫폼에서 A/W 접미사 검색 안 함 | ❌ | ✔️ |
네트워킹
타이틀 | 이진 호환 가능 | 소스 호환 가능 |
---|---|---|
쿠키 경로 처리가 RFC 6265를 준수함 | ✔️ | ❌ |
SendToAsync 호출 후 LocalEndPoint가 업데이트됨 | ✔️ | ❌ |
MulticastOption.Group에서 null을 허용하지 않음 | ✔️ | ❌ |
스트림이 연속 Begin 작업을 허용함 | ❌ | ✔️ |
.NET 런타임에서 WinHttpHandler 제거됨 | ❌ | ✔️ |
SDK
보안
타이틀 | 이진 호환 가능 | 소스 호환 가능 |
---|---|---|
코드 액세스 보안 API가 사용되지 않음 | ✔️ | ❌ |
PrincipalPermissionAttribute가 사용되지 않음 | ✔️ | ❌ |
UTF-7 코드 경로가 사용되지 않음 | ✔️ | ❌ |
직렬화
타이틀 | 이진 호환 가능 | 소스 호환 가능 |
---|---|---|
BinaryFormatter.Deserialize가 예외를 다시 래핑함 | ✔️ | ❌ |
JsonSerializer.Deserialize에는 단일 문자열이 필요함 | ✔️ | ❌ |
ASP.NET Core 앱이 따옴표 붙은 숫자를 역직렬화함 | ✔️ | ❌ |
JsonSerializer.Serialize가 ArgumentNullException을 throw함 | ✔️ | ❌ |
역직렬화에 사용되지 않는 비공용 매개 변수가 없는 생성자 | ✔️ | ❌ |
키-값 쌍을 직렬화할 때 옵션이 적용됨 | ✔️ | ❌ |
Windows Forms
WPF
타이틀 | 이진 호환 가능 | 소스 호환 가능 |
---|---|---|
OutputType이 WinExe로 설정됨 | ❌ | ✔️ |
WPF 앱이 Microsoft.NET.Sdk를 사용함 | ❌ | ✔️ |
참고 항목
GitHub에서 Microsoft와 공동 작업
이 콘텐츠의 원본은 GitHub에서 찾을 수 있으며, 여기서 문제와 끌어오기 요청을 만들고 검토할 수도 있습니다. 자세한 내용은 참여자 가이드를 참조하세요.
.NET