Sdílet prostřednictvím


SYSLIB1039: JsonSourceGenerator zjistil poznámku s povolenou JsonDerivedTypeAttributeJsonSourceGenerationMode.Serialization

JsonDerivedTypeAttribute poznámky jsou podporovány pro generování zdroje, ale ne pro kontexty, které jsou opatřeny poznámkami JsonSourceGenerationMode.Serialization. To znamená, že atribut funguje s generátorem zdroje metadat, ale ne v metodách rychlé cesty.

Alternativní řešení

Odeberte atribut nebo odeberte poznámku JsonSourceGenerationMode.Serialization z kontextu serializace.

Potlačení upozornění

Pokud je to možné, doporučujeme použít jedno z alternativních řešení. Pokud ale kód nemůžete změnit, můžete upozornění potlačit direktivou #pragma<NoWarn> nebo nastavením projektu. Pokud se diagnostika generátoru SYSLIB1XXX zdroje nezobrazuje jako chyba, můžete potlačit upozornění v kódu nebo v souboru projektu.

Potlačení upozornění v kódu:

// Disable the warning.
#pragma warning disable SYSLIB1006

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

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

Potlačení upozornění v souboru projektu:

<Project Sdk="Microsoft.NET.Sdk">
  <PropertyGroup>
   <TargetFramework>net6.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>