다음을 통해 공유


기본 설정이 아닌 진단 ID를 포함한 API 사용 중단 (.NET 8)

일부 API는 .NET 8부터 사용되지 않는 것으로 표시되었습니다. 이 호환성을 깨는 변경은 사용자 지정 진단 ID과 더 이상 사용되지 않는 것으로 표시된 API에 특정됩니다. C# 컴파일러의 기본 사용되지 않는 진단 ID인 CS0618을 억제하더라도, 해당 API를 사용할 때 컴파일러가 생성하는 경고는 억제되지 않습니다.

변경 내용 설명

이전 .NET 버전에서는 빌드 경고 없이 이러한 API를 사용할 수 있습니다. .NET 8 이상 버전에서 이러한 API를 사용하면 사용자 지정 진단 ID와 함께 컴파일 시간 경고 또는 오류가 생성됩니다. 사용자 지정 진단 ID를 사용하면 모든 노후화 경고를 일괄적으로 억제하는 대신 개별적으로 억제할 수 있습니다.

다음 표에서는 사용되지 않는 API에 대한 사용자 지정 진단 ID 및 해당 경고 메시지를 나열합니다.

진단 ID 설명 심각도
SYSLIB0011 BinaryFormatter serialization은 더 이상 권장되지 않음 경고/오류
SYSLIB0048 RSA.EncryptValue(Byte[])RSA.DecryptValue(Byte[])는 사용되지 않습니다. 대신 RSA.EncryptRSA.Decrypt을 사용하세요. 경고
SYSLIB0049 JsonSerializerOptions.AddContext는 사용되지 않습니다. JsonSerializerContext를 등록하려면 TypeInfoResolver 또는 TypeInfoResolverChain 속성을 사용합니다. 경고
SYSLIB0050 포맷터 기반 serialization은 더 이상 사용되지 않으며, 사용해서는 안 됩니다. 경고
SYSLIB0051 사용되지 않는 포맷터 기반 serialization을 지원하는 API는 사용되지 않습니다. 애플리케이션 코드에서 호출하거나 확장해서는 안 됩니다. 경고
SYSLIB0052 Regex 확장성을 위해 구식 메커니즘을 지원하는 API가 구식입니다. 경고
SYSLIB0053 AesGcm은 암호화 및 암호 해독에 필요한 태그 크기를 나타내야 합니다. 태그 크기를 허용하는 생성자를 사용합니다. 경고

도입된 버전

.NET 8

파괴적 변경 유형

이러한 사용되지 않음은 원본 호환성영향을 줄 수 있습니다.

  • 경고에 제공된 URL 링크를 사용하여 각 진단 ID에 대해 제공된 특정 지침을 따릅니다.

  • 이러한 폐기로 인한 경고나 오류는 사용되지 않는 형식이나 멤버에 대한 표준 진단 ID를 사용하여 억제할 수 없습니다. 대신 사용자 지정 SYSLIBxxxx 진단 ID 값을 사용하십시오.

영향을 받는 API

SYSLIB0011

SYSLIB0048

SYSLIB0049

SYSLIB0050

SYSLIB0051

네임스페이스별로 API의 폐기는 SYSLIB0051 여기에서 구성됩니다.

Microsoft.CSharp.RuntimeBinder 네임스페이스

Microsoft.VisualBasic.FileIO 네임스페이스

시스템 네임스페이스

System.Collections 네임스페이스

System.Collections.Generic 네임스페이스

System.Collections.Specialized 네임스페이스

System.ComponentModel 네임스페이스

System.ComponentModel.Composition 네임스페이스

System.ComponentModel.Composition.Primitives 네임스페이스

System.ComponentModel.DataAnnotations 네임스페이스

System.ComponentModel.Design 네임스페이스

System.Configuration 네임스페이스

System.Data 네임스페이스

System.Data.Common 네임스페이스

System.Data.Odbc 네임스페이스

System.Data.OleDb 네임스페이스

System.Data.SqlTypes 네임스페이스

System.Diagnostics.Eventing.Reader 네임스페이스

System.Diagnostics.Tracing 네임스페이스

System.DirectoryServices 네임스페이스

System.DirectoryServices.AccountManagement 네임스페이스

System.DirectoryServices.ActiveDirectory 네임스페이스

System.DirectoryServices.Protocols 네임스페이스

System.Formats.Asn1 네임스페이스

System.Formats.Cbor 네임스페이스

System.Globalization 네임스페이스

System.IO 네임스페이스

System.Management 네임스페이스

System.Media 네임스페이스

System.Net 네임스페이스

System.Net.Mail 네임스페이스

System.Net.NetworkInformation 네임스페이스

System.Net.Sockets 네임스페이스

System.Reflection 네임스페이스

System.Reflection.Metadata 네임스페이스

System.Resources 네임스페이스

System.Runtime.CompilerServices 네임스페이스

System.Runtime.InteropServices 네임스페이스

System.Runtime.Serialization 네임스페이스

System.Security 네임스페이스

System.Security.AccessControl 네임스페이스

System.Security.Authentication 네임스페이스

System.Security.Claims 네임스페이스

System.Security.Cryptography 네임스페이스

System.Security.Policy 네임스페이스

System.Security.Principal 네임스페이스

System.Text.Json 네임스페이스

System.Text.RegularExpressions 네임스페이스

System.Threading 네임스페이스

System.Threading.Channels 네임스페이스

System.Threading.Tasks 네임스페이스

System.Transactions 네임스페이스

System.Xml 네임스페이스

System.Xml.Schema 네임스페이스

System.Xml.XPath 네임스페이스

System.Xml.Xsl 네임스페이스

SYSLIB0052

SYSLIB0053

참고하십시오