You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

无法加载类型Microsoft.AspNetCore.Mvc.MvcJsonOptions的问题求解

解决“无法加载类型Microsoft.AspNetCore.Mvc.MvcJsonOptions”的思路

核心原因

MvcJsonOptions在ASP.NET Core 3.0及后续版本中已被移除,替代类型为JsonOptions(归属Microsoft.AspNetCore.Http.Json命名空间)或系统内置的JsonSerializerOptions(System.Text.Json下)。当前使用ASP.NET Core 8,目标程序集中不存在该旧类型,因此抛出加载错误。

具体解决步骤

  • 替换配置代码:
    若原有代码针对MvcJsonOptions做JSON序列化配置,比如:
    services.AddMvc().AddJsonOptions(options =>
    {
        options.SerializerSettings.ContractResolver = new CamelCasePropertyNamesContractResolver();
    });
    
    需改为ASP.NET Core 8兼容写法:
    • 全局JSON配置(适用于最小API或MVC):
      services.Configure<JsonOptions>(options =>
      {
          options.SerializerOptions.PropertyNamingPolicy = JsonNamingPolicy.CamelCase;
      });
      
    • MVC控制器专属配置:
      services.AddControllers()
          .AddJsonOptions(options =>
          {
              options.JsonSerializerOptions.PropertyNamingPolicy = JsonNamingPolicy.CamelCase;
          });
      
  • 清理冗余依赖:
    移除项目中Microsoft.AspNetCore.Mvc.Formatters.Json的引用,ASP.NET Core 3.0+已将JSON格式化逻辑整合到框架核心包,无需单独引入该组件。
  • 清除缓存并重建:
    删除项目根目录下的bin、obj文件夹,清理NuGet本地缓存后重新构建项目,避免旧版本程序集残留引发的加载冲突。
  • 检查第三方库兼容性:
    若错误由第三方库依赖MvcJsonOptions导致,需确认该库是否支持ASP.NET Core 8,不兼容则升级至适配版本或更换替代库。

内容的提问来源于stack exchange,提问作者Sibin

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.15 20:02:41