다음을 통해 공유


SYSLIB0049: JsonSerializerOptions.AddContext는 사용되지 않습니다.

JsonSerializerOptions.AddContext<TContext>() 메서드는 .NET 8부터 사용되지 않습니다. 코드에서 호출하면 컴파일 시간에 SYSLIB0049 경고가 생성됩니다.

JsonSerializerOptions.AddContext<TContext>() 메서드는 .NET 6에서 JsonSerializerOptions 인스턴스를 지정된 JsonSerializerContext 형식으로 연결하는 수단으로 도입되었습니다. 이 메서드는 계약 사용자 지정TypeInfoResolver 속성이 도입된 .NET 7에서 대개 대체되었습니다.

해결 방법

대신 다음 속성 중 하나를 사용합니다.

  • TypeInfoResolver - 이 속성을 통해 하나 또는 여러 확인자를 모두 한 번에 추가할 수 있습니다.
  • TypeInfoResolverChain - 이 속성을 통해 여러 호출 사이트에서 확인자를 앞에 또는 뒤에 추가할 수 있습니다. 이것을 체인을 검사하거나 연결에서 구성 요소를 제거할 수도 있습니다.

자세한 내용은 원본 생성기 결합을 참조하세요.

경고 표시 안 함

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

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

// Disable the warning.
#pragma warning disable SYSLIB0049

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

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

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

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

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