SYSLIB1034: JsonSourceGenerator mengalami anotasi [JsonStringEnumConverter]

Non-generik JsonStringEnumConverter memerlukan kode dinamis dan tidak dapat digunakan dengan generasi sumber.

Penyelesaian masalah

Gunakan JsonStringEnumConverter<TEnum> sebagai gantinya, yang tidak memerlukan pembuatan kode runtime.

Menutupi peringatan

Disarankan agar Anda menggunakan salah satu solusi jika memungkinkan. Namun, jika Anda tidak dapat mengubah kode, Anda dapat menekan peringatan melalui #pragma direktif atau <NoWarn> pengaturan proyek. SYSLIB1XXX Jika diagnostik generator sumber tidak muncul sebagai kesalahan, Anda dapat menekan peringatan dalam kode atau dalam file proyek Anda.

Untuk menekan peringatan dalam kode (ganti ID diagnostik seperlunya):

// Disable the warning.
#pragma warning disable SYSLIB1006

// Code that generates compiler diagnostic.
// ...

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

Untuk menekan peringatan dalam file proyek (ganti ID diagnostik seperlunya):

<Project Sdk="Microsoft.NET.Sdk">
  <PropertyGroup>
   <TargetFramework>net10.0</TargetFramework>
   <!-- NoWarn below suppresses SYSLIB1002 project-wide -->
   <NoWarn>$(NoWarn);SYSLIB1002</NoWarn>
   <!-- To suppress multiple warnings, you can use multiple NoWarn elements -->
   <NoWarn>$(NoWarn);SYSLIB1002</NoWarn>
   <NoWarn>$(NoWarn);SYSLIB1006</NoWarn>
   <!-- Alternatively, you can suppress multiple warnings by using a semicolon-delimited list -->
   <NoWarn>$(NoWarn);SYSLIB1002;SYSLIB1006;SYSLIB1007</NoWarn>
  </PropertyGroup>
</Project>