SYSLIB1039: JsonSourceGenerator napotkał adnotację z włączoną obsługą JsonDerivedTypeAttribute
JsonSourceGenerationMode.Serialization
JsonDerivedTypeAttributeAdnotacje są obsługiwane w przypadku generowania źródła, ale nie dla kontekstów z adnotacjami .JsonSourceGenerationMode.Serialization Oznacza to, że atrybut współpracuje z generatorem źródła metadanych, ale nie w metodach szybkiej ścieżki.
Obejścia
Usuń atrybut lub usuń adnotację JsonSourceGenerationMode.Serialization z kontekstu serializacji.
Pomijanie ostrzeżeń
Zaleca się użycie jednego z obejść, jeśli jest to możliwe. Jeśli jednak nie możesz zmienić kodu, możesz pominąć ostrzeżenie za pomocą #pragma
dyrektywy lub <NoWarn>
ustawienia projektu. Jeśli diagnostyka SYSLIB1XXX
generatora źródłowego nie pojawia się jako błąd, możesz pominąć ostrzeżenie w kodzie lub w pliku projektu.
Aby pominąć ostrzeżenia w kodzie:
// Disable the warning.
#pragma warning disable SYSLIB1006
// Code that generates compiler diagnostic.
// ...
// Re-enable the warning.
#pragma warning restore SYSLIB1006
Aby pominąć ostrzeżenia w pliku 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>