2026-03-22
第 11 篇发布检查清单应该写进模板,而不是留在人的记忆里
模板真正进入首发阶段时,最容易遗漏的往往不是生成逻辑,而是包元数据、诊断前缀、示例配置和消费链路这些发布面。
分类
这里汇总所有属于当前分类的博客文章。
2026-03-22
第 11 篇模板真正进入首发阶段时,最容易遗漏的往往不是生成逻辑,而是包元数据、诊断前缀、示例配置和消费链路这些发布面。
2026-03-22
第 10 篇模板如果要真正被团队复制和发布,改名、打包、恢复和消费验证这些动作就应该进入脚本层,而不是留在记忆和聊天记录里。
2026-03-22
第 9 篇sample 和 tests 在源生成器模板里不是重复建设:前者证明链路活着,后者证明复杂边界没有被悄悄改坏。
2026-03-22
第 8 篇对源生成器模板来说,先补测试基座再扩 AdditionalFiles、诊断和配置合并,通常比反过来便宜得多。
2026-03-22
第 7 篇模板第一次落地时如果不先想清楚默认值、仓库级覆盖和文件级覆盖的边界,第二次接入时通常就会开始出现配置债。
2026-03-22
第 6 篇本地 sample 的 ProjectReference 只能证明生成器在开发链路里活着,不能证明最终 nupkg、分析器收拢和外部消费者恢复链路都正确。
2026-03-22
第 5 篇模板真正落地时,最常见的失败点不是结构设计,而是改名不完整、包元数据遗漏,以及 PackageReference 消费链路没有被认真验证。
2026-03-22
第 4 篇enterprise 模板真正贵的不是复杂度本身,而是它把声明诊断、配置契约、测试和 NuGet 消费链路一起闭环了。
2026-03-22
第 3 篇standard 模板不是 simple 的加厚版,而是大多数正式项目最该使用的默认骨架,因为每类改动都有明确落点。
2026-03-22
第 2 篇simple 模板最有价值的地方是快速确认 Roslyn 接线和生成闭环,而不是承载你后面所有工程复杂度。
2026-03-22
第 1 篇真正有价值的模板,不是在第一天帮你少敲几行代码,而是在后面每次扩字段、补诊断、接配置和交付时持续压低成本。
2026-03-22
第 9 篇当生成器支持显式文件发现后,命名约定就不再是唯一入口,这一步才让第二案例真正适合接旧项目。
2026-03-22
第 8 篇前缀裁剪不是为了少打一段字符串,它真正解决的是共享资源键命名和最终生成 API 之间的边界污染。
2026-03-22
第 7 篇当目录约定进入第二案例后,目录层级不再只是文件组织方式,而会正式进入生成器的命名空间决议。
2026-03-22
第 6 篇第二案例里,多输出组并存不是额外能力,而是分组键稳定之后自然出现的结果。
2026-03-22
第 5 篇第二季真正把难度拉高的,不是又多读了几个 JSON,而是多个输入文件怎样稳定地并成同一个输出目标。
2026-03-22
第 4 篇第二案例最难稳住的不是把 JSON 读进来,而是多个输入文件如何合法地并成同一个输出类型。
2026-03-22
第 3 篇项目级默认命名空间、类名和可见性不是便利配置而已,它们会直接改变生成器的输出契约和回退路径。
2026-03-22
第 2 篇很多人以为命名空间、类名和可见性都应该写在 JSON 里,但第二案例里,这些单文件覆盖项更适合来自 AdditionalFiles 元数据。
2026-03-22
第 1 篇当生成器开始读取 AdditionalFiles、MSBuild 元数据和项目默认值时,它就不再只是演示案例,而是开始接近真实工程输入。