다음을 통해 공유


SYSLIB0043: ECDiffieHellmanPublicKey.ToByteArray는 사용되지 않음

다음 메서드는 .NET 7부터 사용되지 않는 것으로 표시됩니다. 코드에서 이러한 API를 사용하면 컴파일 시간에 SYSLIB0043 경고가 생성됩니다.

ECDiffieHellmanPublicKey.ToByteArray() 메서드에는 암시적인 파일 형식이 없습니다. 또한 기본 제공 구현의 경우 Windows가 아닌 모든 운영 체제에서 PlatformNotSupportedException이 throw됩니다. ECDiffieHellmanPublicKey에도 표준 형식 내보내기(ExportSubjectPublicKeyInfo() 메서드를 통해)가 있으므로 이전 멤버는 사용되지 않습니다.

해결 방법

공개 키 값을 내보내는 경우 대신 ExportSubjectPublicKeyInfo() 메서드를 사용합니다.

새로운 파생 형식(또는 현재 ECDiffieHellmanPublicKey(Byte[]) 생성자를 호출하지 않는 기존 파생 형식)의 경우 보호된 ECDiffieHellmanPublicKey(Byte[]) 생성자를 호출하지 말고 ToByteArray()를 재정의하여 예외를 throw하거나 빈 배열을 반환하는 기본 동작을 수락합니다.

이미 보호된 ECDiffieHellmanPublicKey(Byte[]) 생성자를 호출하는 기존 파생 형식의 경우 생성자를 계속 호출하고 SYSLIB0043 경고를 표시하지 않습니다.

경고 표시 안 함

사용되지 않는 API를 사용해야 하는 경우, 코드 또는 프로젝트 파일에서 경고를 표시하지 않을 수 있습니다.

단일 위반만 표시하지 않으려면 원본 파일에 전처리기 지시문을 추가하여 경고를 사용하지 않도록 설정한 후 다시 사용하도록 설정합니다.

// Disable the warning.
#pragma warning disable SYSLIB0043

// Code that uses obsolete API.
// ...

// Re-enable the warning.
#pragma warning restore SYSLIB0043

프로젝트에서 모든 SYSLIB0043 경고를 표시하지 않으려면 프로젝트 파일에 <NoWarn> 속성을 추가합니다.

<Project Sdk="Microsoft.NET.Sdk">
  <PropertyGroup>
   ...
   <NoWarn>$(NoWarn);SYSLIB0043</NoWarn>
  </PropertyGroup>
</Project>

자세한 내용은 경고 표시 안 함을 참조하세요.