다음을 통해 공유


기본이 아닌 진단 ID를 사용하는 API 사용되지 않음(.NET 6)

일부 API는 .NET 6부터 사용되지 않는 것으로 표시되었습니다. 이러한 호환성이 손상되는 변경은 ‘사용자 지정 진단 ID’를 사용하여 사용되지 않는 것으로 표시된 API에만 적용됩니다. C# 컴파일러에 대한 기본 사용되지 않음 진단 ID인 CS0618을 표시하지 않아도 이러한 API를 사용할 때 컴파일러에서 생성되는 경고는 표시됩니다.

변경 내용 설명

이전 .NET 버전에서는 빌드 경고 없이 이러한 API를 사용할 수 있습니다. .NET 6 이상 버전에서 해당 API를 사용하면 사용자 지정 진단 ID를 사용하는 컴파일 시간 경고 또는 오류가 생성됩니다. 사용자 지정 진단 ID를 사용하면 모든 사용되지 않음 경고를 완전히 표시하지 않는 대신 사용되지 않음 경고를 개별적으로 표시하지 않을 수 있습니다.

다음 표에는 사용되지 않는 API에 대한 사용자 지정 진단 ID와 해당 경고 메시지가 나열되어 있습니다.

진단 ID Description 심각도
SYSLIB0013 Uri.EscapeUriString(String) 는 경우에 따라 URI 문자열을 손상할 수 있습니다. 쿼리 문자열 구성 요소에 대신 Uri.EscapeDataString(String)을 사용하세요. Warning
SYSLIB0014 WebRequest, HttpWebRequest, ServicePoint, WebClient는 더 이상 사용되지 않습니다. 대신 HttpClient를 사용하세요. Warning
SYSLIB0015 DisablePrivateReflectionAttribute는 .NET 6 이상에 영향을 주지 않습니다. Warning
SYSLIB0016 더 나은 성능과 더 적은 할당을 위해 인수를 받는 Graphics.GetContextInfo 오버로드를 사용하세요. Warning
SYSLIB0017 강력한 이름 서명은 지원되지 않으며 PlatformNotSupportedException을 throw합니다. Warning
SYSLIB0018 리플렉션 전용 로드는 지원되지 않으며 PlatformNotSupportedException을 throw합니다. Warning
SYSLIB0019 System.Runtime.InteropServices.RuntimeEnvironment 멤버 SystemConfigurationFile, GetRuntimeInterfaceAsIntPtr(Guid, Guid), GetRuntimeInterfaceAsObject(Guid, Guid)는 더 이상 지원되지 않으며 PlatformNotSupportedException을 throw합니다. Warning
SYSLIB0020 JsonSerializerOptions.IgnoreNullValues는 사용되지 않습니다. 직렬화할 때 null 값을 무시하려면 DefaultIgnoreConditionJsonIgnoreCondition.WhenWritingNull으로 설정하세요. Warning
SYSLIB0021 파생된 암호화 형식은 더 이상 사용되지 않습니다. 대신 기본 형식의 Create 메서드를 사용합니다. Warning
SYSLIB0022 RijndaelRijndaelManaged 형식은 사용되지 않습니다. 대신 Aes를 사용하세요. Warning
SYSLIB0023 RNGCryptoServiceProvider는 사용되지 않습니다. 난수를 생성하려면 RandomNumberGenerator 정적 메서드 중 하나를 대신 사용합니다. Warning
SYSLIB0024 AppDomains 생성 및 언로드는 지원되지 않으며 예외를 throw합니다. Warning
SYSLIB0025 SuppressIldasmAttribute는 .NET 6 이상에 영향을 주지 않습니다. Warning
SYSLIB0026 X509CertificateX509Certificate2는 변경할 수 없습니다. 적절한 생성자를 사용하여 새 인증서를 만듭니다. Warning
SYSLIB0027 PublicKey.Key는 사용되지 않습니다. 적절한 메서드를 사용하여 GetRSAPublicKey()와 같은 퍼블릭 키를 가져옵니다. Warning
SYSLIB0028 X509Certificate2.PrivateKey는 사용되지 않습니다. 적절한 메서드를 사용하여 프라이빗 키(예: RSACertificateExtensions.GetRSAPrivateKey(X509Certificate2))를 가져오거나, X509Certificate2.CopyWithPrivateKey(ECDiffieHellman) 메서드를 사용하여 프라이빗 키로 새 인스턴스를 만듭니다. Warning
SYSLIB0029 ProduceLegacyHmacValues는 사용되지 않습니다. 레거시 HMAC 값 생성은 더 이상 지원되지 않습니다. Warning
SYSLIB0030 HMACSHA1은 항상 플랫폼에서 제공하는 알고리즘 구현을 사용합니다. useManagedSha1 매개 변수 없이 생성자를 사용합니다. Warning
SYSLIB0031 CryptoConfig.EncodeOID(String)는 사용되지 않습니다. System.Formats.Asn1에 제공된 ASN.1 기능을 사용합니다. Warning
SYSLIB0032 손상된 프로세스 상태 예외에서 복구하는 기능은 지원되지 않음, HandleProcessCorruptedStateExceptionsAttribute는 무시됩니다. Warning
SYSLIB0033 Rfc2898DeriveBytes.CryptDeriveKey(String, String, Int32, Byte[])는 사용되지 않으며 지원되지 않습니다. 대신 PasswordDeriveBytes.CryptDeriveKey(String, String, Int32, Byte[])를 사용하세요. Warning
SYSLIB0034 CmsSigner(CspParameters)는 사용되지 않습니다. 대신 대체 생성자를 사용합니다. Warning
SYSLIB0035 SignerInfo.ComputeCounterSignature()는 사용되지 않습니다. 대신 CmsSigner를 수락하는 오버로드를 사용합니다. Warning

도입된 버전

.NET 6

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

  • 이러한 사용되지 않음에 대한 경고나 오류는 사용되지 않는 형식이나 멤버에 대한 표준 진단 ID를 사용하여 표시하지 않을 수 없으며, 사용자 지정 SYSLIBxxxx 진단 ID 값을 대신 사용해야 합니다.

영향을 받는 API

SYSLIB0013

SYSLIB0014

SYSLIB0015

SYSLIB0016

SYSLIB0017

SYSLIB0018

SYSLIB0019

SYSLIB0020

SYSLIB0021

SYSLIB0022

SYSLIB0023

SYSLIB0024

SYSLIB0025

SYSLIB0026

SYSLIB0027

SYSLIB0028

SYSLIB0029

SYSLIB0030

SYSLIB0031

SYSLIB0032

SYSLIB0033

SYSLIB0034

SYSLIB0035

참고 항목