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

.NET Core 2.2使用RawRabbit发布消息出现Newtonsoft.Json方法缺失错误

异常原因

该报错属于Newtonsoft.Json版本不兼容问题:
RawRabbit 2.0.0-beta9编译时依赖低于12.0.1版本的Newtonsoft.Json,该版本中存在JsonSerializer.set_TypeNameAssemblyFormat方法。而.NET Core 2.2项目通常会隐式引入更高版本的Newtonsoft.Json(>=12.0.1),该版本已经废弃了TypeNameAssemblyFormat属性,替换为新的TypeNameAssemblyFormatHandling属性,运行时找不到旧方法就会抛出该异常。

解决办法
  • 方案1:显式锁定Newtonsoft.Json兼容版本
    在你的项目csproj文件中手动添加Newtonsoft.Json的11.0.2版本引用(该版本和RawRabbit 2.0.0-beta9完全兼容),覆盖项目隐式引入的高版本:
    <PackageReference Include="Newtonsoft.Json" Version="11.0.2" />
    
    修改后执行NuGet包还原,重新编译运行项目即可解决问题。
  • 方案2:自定义RawRabbit序列化器
    如果你的项目必须使用更高版本的Newtonsoft.Json,可以自行实现RawRabbit的ISerializer接口,在自定义序列化逻辑中使用新的TypeNameAssemblyFormatHandling属性,避免调用已废弃的旧属性,在服务注册时将你的自定义序列化器注入替换默认实现即可。
  • 方案3:升级RawRabbit到稳定正式版
    你当前使用的2.0.0-beta9属于测试版本,RawRabbit后续的正式稳定版已经修复了Newtonsoft.Json高版本兼容问题,如果项目允许升级依赖,可将所有RawRabbit相关NuGet包升级到最新稳定版即可解决冲突。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 07:24:04