AddJsonOptionsにSerializerSettingsの定義が含まれていない場合の解決方法 質問する

AddJsonOptionsにSerializerSettingsの定義が含まれていない場合の解決方法 質問する

誰か助けてくれることを願っています。ずっと探していたのですが、解決策が見つかりません。基本的なことかもしれませんが、解決策が見つからないのです。

services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_1)
    .AddJsonOptions(opt =>
    {
        opt.SerializerSettings.ReferenceLoopHandLing = 
            Newtonsoft.Json.ReferenceLoopHandling.Ignore;
    });

このコードは、参照ループの問題を修正しようとしています。.NET と Angular CLI を使用して Web アプリケーションを構築するチュートリアルに従っています。チュートリアルには、ループ エラーが表示されていますが、これは私のコードでも発生しました。解決策 (上記のコード) に従おうとすると、SerializerSettings で、JsonOptions にそのような定義が含まれていないというエラーが発生しました。

私は試した:

[Obsolete] を追加 (Visual Studio の提案)

Microsoft.AspNetCore.MVC.Formatters.Json NuGet パッケージをインストールする (VS は追加時に何も行われないと通知しました) (ドキュメントと StackOverflow でこのソリューションを確認しました)

Newtonsoft Json.Net ドキュメントの ReferenceLoopHandling を試しました (適切に使用していない可能性がありますので、これが解決策であると思われる場合は、教えてください)

ベストアンサー1

解決しました。

services.AddMvc().AddNewtonsoftJson(o => 
{
    o.SerializerSettings.ReferenceLoopHandling = ReferenceLoopHandling.Ignore;
});   

お役に立てれば。

NuGet: Microsoft.AspNetCore.Mvc.NewtonsoftJson

おすすめ記事