Ich habe gerade mein ASP-Web-API-Projekt von aktualisiert. Net core 2.0
zu 3.0
. Ich habe benutzt
services.AddMvc()
.AddJsonOptions(options =>options.SerializerSettings.ContractResolver
= new DefaultContractResolver());
zuvor, um das untere Gehäuse des serialisierten JSON sicherzustellen.
Nach dem Upgrade auf 3.0 erhalte ich folgende Fehlermeldung:
Fehler CS1061 'IMvcBuilder' enthält keine Definition für 'AddJsonOptions' und es konnte keine zugängliche Erweiterungsmethode 'AddJsonOptions' gefunden werden, die ein erstes Argument vom Typ 'IMvcBuilder' akzeptiert (fehlt Ihnen eine using-Direktive oder eine Assemblyreferenz?)
Gemäß AddJsonOptions für MvcJsonOptions in Asp.Net Core 2.2 wird / wurde die AddJsonOptions-Erweiterungsmethode vom Microsoft.AspNetCore.Mvc.Formatters.Json- Nuget-Paket bereitgestellt. Ich habe versucht, dies zu installieren / neu zu installieren, kann die Methode jedoch immer noch nicht auflösen. Interessanterweise zeigt Intellisense nur Microsoft.AspNetCore.Mvc.Formatters an. XML, wenn ich versuche, die using-Anweisung hinzuzufügen, obwohl ich das Json- Nuget-Paket hinzugefügt habe.
Irgendwelche Ideen, was los ist? Die Dokumentation für AddJsonOptions reicht nur bis zu .Net 2.2. Vielleicht wurde die Methode in 3.0 zugunsten eines anderen Konfigurationsmechanismus veraltet.
quelle
AddNewtonsoftJson
fehlt auch nach Bezugnahme auf dieseMicrosoft.AspNetCore.Mvc.NewtonsoftJson
Referenz.[JsonIgnore]
aus demSystem.Text.Json.Serialization
Namespace verwenden.Dies funktionierte bei mir bei der Verwendung von
.Net Core 3
:quelle
o.JsonSerializerOptions.PropertyNameCaseInsensitive = false;
o.JsonSerializerOptions.DictionaryKeyPolicy = null;
undo.JsonSerializerOptions.PropertyNameCaseInsensitive = false;
Das würde helfen
quelle