技术栈

源生成

步步为营DotNet
2 小时前
c#·.net·native aot·源生成
System.Text.Json 源生成:三个“看起来已经生效“的静默失效[JsonSerializable] 加上、partial class 写上、编译通过、接口返回的 JSON 一切正常——很多人到这一步就认为源生成已经生效了。但源生成不是"开了就快"的开关,它是一个把 metadata 构建从运行时搬到编译期的机制。只要调用点没有把编译期生成的那份 JsonTypeInfo 真正传进去,运行时就悄悄退回反射路径:结果正确、日志干净、性能收益为零,直到你切到 PublishAot 才在线上炸出来。
我是有底线的