Delen via


SYSLIB1039: JsonSourceGenerator heeft een JsonDerivedTypeAttribute aantekening aangetroffen met JsonSourceGenerationMode.Serialization ingeschakeld

JsonDerivedTypeAttribute aantekeningen worden ondersteund voor het genereren van bronnen, maar niet voor contexten met JsonSourceGenerationMode.Serializationaantekeningen. Dat wil gezegd, het kenmerk werkt met de generator voor metagegevensbronnen, maar niet in snelle padmethoden.

Tijdelijke oplossingen

Verwijder het kenmerk of verwijder de JsonSourceGenerationMode.Serialization aantekening uit de serialisatiecontext.

Waarschuwingen onderdrukken

Het is raadzaam om waar mogelijk een van de tijdelijke oplossingen te gebruiken. Als u de code echter niet kunt wijzigen, kunt u de waarschuwing onderdrukken via een #pragma instructie of een <NoWarn> projectinstelling. Als de SYSLIB1XXX diagnostische brongenerator niet als fout wordt weergegeven, kunt u de waarschuwing in code of in het projectbestand onderdrukken.

De waarschuwingen in code onderdrukken:

// Disable the warning.
#pragma warning disable SYSLIB1006

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

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

De waarschuwingen in een projectbestand onderdrukken:

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