Megosztás a következőn keresztül:


SYSLIB1039: A JsonSourceGenerator egy engedélyezve állapotú JsonSourceGenerationMode.Serialization megjegyzést észlelt JsonDerivedTypeAttribute

JsonDerivedTypeAttribute a széljegyzetek a forrás létrehozása esetén támogatottak, a széljegyzetekkel JsonSourceGenerationMode.Serializationellátott környezetekben azonban nem. Vagyis az attribútum a metaadat-forrásgenerátorral működik, a gyorsútvonalú metódusokban azonban nem.

Kerülő megoldások

Távolítsa el az attribútumot, vagy távolítsa el a JsonSourceGenerationMode.Serialization jegyzetet a szerializálási környezetből.

Figyelmeztetések mellőzése

Javasoljuk, hogy ha lehetséges, használja az egyik kerülő megoldást. Ha azonban nem tudja módosítani a kódot, egy irányelv vagy egy #pragma projektbeállítás segítségével letilthatja a figyelmeztetést <NoWarn> . Ha a SYSLIB1XXX forrásgenerátor diagnosztika nem hibaként jelenik meg, letilthatja a figyelmeztetést a kódban vagy a projektfájlban.

A kódban lévő figyelmeztetések mellőzése:

// Disable the warning.
#pragma warning disable SYSLIB1006

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

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

A projektfájl figyelmeztetéseinek mellőzése:

<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>