为什么.NET 5 SDK 5.0.400中找不到Utf8JsonWriter.WriteRawValue()方法
问题根因
- .NET 大版本下的补丁更新(即形如 5.0.x 的次版本更新)仅会纳入安全修复、高优先级稳定性问题修复,不会新增任何公开API,
WriteRawValue属于新增API,不会被加入.NET 5的任何补丁版本。 - 新增
Utf8JsonWriter.WriteRawValue()的代码提交,最终是合并到了.NET 6的开发分支,没有向后移植到.NET 5的发布分支,所以所有.NET 5的SDK和运行时版本都不会包含这个API。 - 你安装的5.0.400版本SDK对应.NET 5.0.9运行时,属于.NET 5的补丁发布版本,自然不存在该方法。
可选解决方案
- 升级项目到.NET 6及以上版本,即可原生使用
Utf8JsonWriter.WriteRawValue()方法,这是官方推荐的方案。 - 若必须保留在.NET 5环境,可以手动实现同等能力:先将需要写入的原始JSON内容转码为UTF-8字节序列,直接写入
Utf8JsonWriter绑定的输出流即可,注意自行校验原始JSON的格式合法性,避免破坏最终生成的完整JSON结构。
内容的提问来源于stack exchange,提问作者Drew
相关产品推荐
相关产品推荐

