Share via


SYSLIB1039: JsonSourceGenerator etkin bir JsonDerivedTypeAttribute ek açıklamayla JsonSourceGenerationMode.Serialization karşılaştı

JsonDerivedTypeAttribute ek açıklamalar kaynak oluşturma için desteklenir, ancak ile JsonSourceGenerationMode.Serializationek açıklama ekleyen bağlamlar için desteklenmez. Başka bir ifadeyle, özniteliği meta veri kaynağı oluşturucu ile çalışır, ancak hızlı yol yöntemlerinde çalışmaz.

Geçici Çözümler

özniteliğini kaldırın veya serileştirme bağlamınızdaki ek açıklamayı JsonSourceGenerationMode.Serialization kaldırın.

Uyarıları gizleme

Mümkün olduğunda geçici çözümlerden birini kullanmanız önerilir. Ancak, kodunuzu değiştiremiyorsanız, uyarıyı bir #pragma yönerge veya <NoWarn> proje ayarı aracılığıyla gizleyebilirsiniz. SYSLIB1XXX Kaynak oluşturucu tanılaması hata olarak ortaya çıkmazsa, uyarıyı kodda veya proje dosyanızda gizleyebilirsiniz.

Koddaki uyarıları engellemek için:

// Disable the warning.
#pragma warning disable SYSLIB1006

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

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

Proje dosyasındaki uyarıları engellemek için:

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