SYSLIB0049: JsonSerializerOptions.AddContext устарел
Этот JsonSerializerOptions.AddContext<TContext>() метод устарел, начиная с .NET 8. Вызов в коде создает предупреждение SYSLIB0049
во время компиляции.
Метод JsonSerializerOptions.AddContext<TContext>() был представлен в .NET 6 в качестве средства для связывания JsonSerializerOptions экземпляров с указанным JsonSerializerContext типом. Этот метод был в значительной степени заменен в .NET 7 с введением настройки контракта и TypeInfoResolver свойства.
Обходное решение
Вместо этого используйте одно из следующих свойств:
- 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>
Дополнительные сведения см. в разделе Отключение предупреждений.