惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

S
Schneier on Security
博客园_首页
量子位
博客园 - 司徒正美
S
SegmentFault 最新的问题
J
Java Code Geeks
小众软件
小众软件
博客园 - 【当耐特】
The Register - Security
The Register - Security
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
Microsoft Azure Blog
Microsoft Azure Blog
G
Google Developers Blog
Blog — PlanetScale
Blog — PlanetScale
T
Tailwind CSS Blog
博客园 - Franky
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
G
GRAHAM CLULEY
Cyberwarzone
Cyberwarzone
腾讯CDC
Apple Machine Learning Research
Apple Machine Learning Research
V
Visual Studio Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
The Hacker News
The Hacker News
aimingoo的专栏
aimingoo的专栏
V
Vulnerabilities – Threatpost
P
Palo Alto Networks Blog
Scott Helme
Scott Helme
L
LINUX DO - 热门话题
F
Full Disclosure
D
DataBreaches.Net
Martin Fowler
Martin Fowler
Cisco Talos Blog
Cisco Talos Blog
L
LINUX DO - 最新话题
云风的 BLOG
云风的 BLOG
C
Check Point Blog
T
Threatpost
Google DeepMind News
Google DeepMind News
WordPress大学
WordPress大学
W
WeLiveSecurity
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
有赞技术团队
有赞技术团队
Hugging Face - Blog
Hugging Face - Blog
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
L
Lohrmann on Cybersecurity
Last Week in AI
Last Week in AI
T
Tor Project blog
T
Troy Hunt's Blog
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
S
Security Affairs
SecWiki News
SecWiki News

博客园 - 张善友

本体:AI落地的"企业翻译官" C# MCP SDK 2.0 即将发布:去会话化、去握手、去运维噩梦 数字员工的成本账:OpenClaw.NET 如何用工程化实现"成功任务的单位经济学"(下) AI 成本战的隐性成本与降本五层:从"成功率悖论"到"系统复杂度"(中) 从 Token 价格战到成功任务单位经济学:AI 成本战的真正主线(上) MCP + A2A 融合:协议层已就绪,信任层才是硬仗 OpenClaw.NET 本体工程实践(一):数字员工的「语义大脑」不是数据库 当工厂里坐满了"数字员工":AI原生时代,NPI到量产正在被重写 当 AI 对话里直接弹出业务界面:MCP Apps 正在改写 SaaS 的集成逻辑 C# vs Go:Agentic 时代的语言分层 G#:当 Go、Kotlin 与 Swift 的美学遇见 .NET 运行时 从 Bun 的 Rust 重写,看 C# 如何重建 AI 基础设施层 .NET 10 File-Based Apps:一个 .cs 文件搞定一切,C# 终于也能像 Python 一样写脚本了! 从Kaplan到Test-Time Compute:Scaling Law的真实演变与中文媒体的叙事偏差 AI 基础设施的"去 Python 化":Rust 与 C# 的两条替代路径 你的 AI Agent 会在服务器上"修仙"——OpenClaw.NET 长持久会话技术解读 C# GeneratedRegex:面向对象语言的"底层性能突围 当 AI 不再只是"说话":OpenClaw.NET 率先原生支持 MCP Apps Token IO 架构的设计游戏:大模型产品形态四年演进的本质 将 Rust 绑定到 .NET 10:Oxigraph 的 FFI 桥接实践 Claude Code Dynamic Workflows vs OpenClaw.NET MetaSKILL C# ?? 链式回退:编写优雅的多级兜底逻辑 MetaSKILL 与 SKILL:多视角深度综述 Microsoft Agent Framework 1.0 正式接棒,.NET AI 进入 Agent-Native 时代 从 OpenClaw.NET 的 /loop 实现,看 Loop Engineering 如何从概念走向工程实践 OpenClaw.NET 祭出 TokenJuice:Agent 时代的"Token 瘦身引擎",让 LLM 上下文不再膨胀 OpenClaw.NET 重大更新:Goal 机制登场,让 AI Agent 不再"半途而废" OpenClaw.NET MetaSKILLs 系统深度解析:AI Agent 正在学会「自己给自己写技能」 OpenClaw.NET 上线 MetaSkills :软件工程第一性原理的工业级实践 当 AgentGateway 遇上 OpenClaw.NET:企业级智能体基础设施的深度协同实战 C# 内存安全性的重大演进:重新定义 unsafe 关键字 Qt Bridges for C# 深度技术解析 OpenClaw.NET 兼容性目录指南(Compatibility Catalog) .NET 10 桌面 UI 框架的范式演进:Jalium.UI 与 MewUI 架构深度对比 架构融合:Activity Host 作为确定性编排与认知智能代理的桥梁 MewUI 项目:面向 NativeAOT 的超轻量级.NET GUI 架构、底层图形管线与性能演进 人工智能原生时代的全栈工程范式转移:DeepSeek 人才战略与下一代 Agent 基础设施深度分析 OpenClaw.NET 外部 CLI 预设系统:从零编写第三方 CLI 集成指南 曝华为"白嫖"开源团队技术方案事件——网友评论总结 NuGet下载量数据分析与.NET生态全景观察:从数据洞察技术演进 .NET 11 Preview 4 正式发布:Runtime-Async 全面启用、Process API 大幅扩展 OpenClaw.NET:给智能以形态 OpenClaw.NET 外部 CLI 连接器 (External CLI Connectors) 详细技术总结 Memgraph 与 Neo4j 图数据库对比及 .NET 生态适配分析 .NET生态系统中的A2A(Agent-to-Agent)协议支持与跨平台多智能体协同 OpenClaw.NET .NET 原生插件开发完全指南:以 Mempalace 插件为范例 为 openclaw.net 集成 ElBruno.MempalaceNet 记忆系统 Graphify-DotNet:AI 驱动的 .NET 代码知识图谱构建工具 SonnetDB:.NET 生态下的高性能嵌入式时序数据库 C# 原生编码智能体运行时 SharpClawCode SharpIDE: 基于 .NET 与 Godot 引擎的跨平台开源 IDE
22年微软MVP连任:一个.NET技术人的社区长跑
张善友 · 2026-07-16 · via 博客园 - 张善友

一、老朋友又来敲门了

2026年7月15日,一个普通的周二晚上11点,我的邮箱弹出一封来自雷德蒙德的邮件。

标题很简洁:"You've been accepted to the Microsoft MVP Program!" 下面跟着一行小字——"Developer Technologies - .NET"。我盯着屏幕看了三秒钟,然后笑了。

这不是激动,是一种"老朋友又来敲门"的亲切感。

第22次。从2006年第一次拿到这个蓝色徽章算起,整整22年。微软的MVP计划每年重新评审,能连任一次不算难,能连任22次的人,在中国.NET圈子里,掰着手指头数得过来。

说真的,收到邮件的那一刻,我正在家里调试开源 OpenClaw.NET。老婆凑过来问"啥事这么乐",我说"又当了一年MVP",她愣了一下:"啊?您不是早就是了吗?"——你看,连身边人都觉得这是理所当然的。但只有我自己知道,这22年不是"自然延续",而是一场漫长的社区长跑。


二、22年,两个十年的跨度

2006年,我第一次被授予.NET方向的微软最有价值专家。

那会儿我还在广州一家 公司做研发,.NET刚推出2.0版本,WebForm是主流,ASP.NET AJAX还是新鲜玩意儿。我在博客园写文章,纯粹是因为喜欢——喜欢那种把一个问题啃透、然后写下来分享的感觉。那时候博客园的阅读量过千就觉得自己是个"大V"了。

现在呢?2026年的.NET,早已经不是当年那个只跑在Windows上的框架了。

它跨平台、开源、云原生,和AI深度绑定。你用.NET可以写运行在Linux容器里的微服务,可以训练机器学习模型,可以构建智能Agent。.NET 10(对,已经到10了)里的很多特性,放在二十年前简直是科幻小说。

而我,也从当年那个在博客园写WebForm教程的年轻人,变成了广州智用开物人工智能科技有限公司的CTO,带着团队在AI和.NET的交叉点上做产品。2001年从兰州大学数学系毕业的时候,我压根没想到自己会在这个技术生态里待这么久——22年,几乎占满了我整个职业生涯。


三、数字不会说谎

刚才说到博客园。我上去看了一眼自己的主页——2307篇随笔,1390万阅读。

2307篇。不是2307条微博,是2307篇技术文章。平均每3.5天一篇,坚持了二十多年。早期是WebForm、ADO.NET,后来是MVC、Entity Framework,再后来是.NET Core、Docker、Kubernetes,到现在的AI、大模型、Agent框架。这些文章串联起来,几乎就是一部.NET技术的演进史。

还有一个数字:22年。它比我的婚姻还长(开玩笑的,我结婚更早),比很多程序员的整个职业生涯还长。微软的MVP计划里,有人来了又走,有人转行做了管理,有人彻底离开了技术圈。而我还在这里,还在写,还在社区里回答问题,还在公众号"dotNET跨平台"(opendotnet)里推送每一篇觉得有价值的文章。

有时候我会问自己:22年的MVP,到底意味着什么?

是一份荣誉吗?当然是。但更准确的说是——一种承诺。你接受了这个徽章,就默认你会继续分享、继续回答问题、继续在社区里做那个"比别人多走一步"的人。这不容易。尤其是在AI时代,信息爆炸,人人都可以让大模型生成一篇教程,社区的价值在哪里?技术人的坚持还有意义吗?

这些问题,我没有标准答案。

但我想用这篇文章,试着找找看。


四、技术长跑:22年间的.NET进化史

说来奇怪,拿到第一次MVP时,我并不知道自己签下了一份22年的长约。

那是2006年,ASP.NET WebForm正如日中天。Drag & Drop一个按钮,双击写事件处理,Visual Studio 2005帮你把一切都包办好了。那时候我觉得,技术世界大概就是这样了——微软定义框架,我们负责学习和使用。简单,甚至有点安逸。

但真正改变我对"技术"和"社区"全部认知的,是2007年春天的西雅图。

那是我第一次参加MVP Global Summit,微软把全球几千名MVP请到总部。我记得走进Redmond园区那个巨大的会议厅时,腿都有点软。但更让我心跳加速的,是一场关于ASP.NET MVC框架的投票。

微软的人坐下来,认真问我们:你们想要什么?

我们投票,我们讨论,我们把意见写在纸上投进那个箱子里。几个月后,ASP.NET MVC Preview发布了。那一刻我突然明白:社区不是单向的接收者,社区的声音真的会被听见。 那一年比尔·盖茨亲临现场演讲,我挤在人群中远远地看着,心里想的是——这条路,我要继续走下去。


2009年到2014年,MVC从一个"备选方案"慢慢长成了ASP.NET的主流。

WebForm的Postback机制越来越显得笨重,而MVC的清晰分层让开发者终于能喘口气。与此同时,一个有意思的项目叫Mono,让.NET开始悄悄爬上Linux服务器。开源文化像一颗种子,在微软的围墙外面发了芽。

那几年我在博客园写了不少文章。有时候一篇关于ASP.NET MVC的教程能收到几十条评论,大家争论路由配置、讨论ViewEngine,吵得不可开交。现在回头看,那就是中国.NET社区最蓬勃、最热闹的年代。 我们一群人在网上互相掐架、互相学习,谁也没意识到自己在参与一场历史性的转折。


2014年,萨提亚·纳德拉上台了。

"Microsoft loves Linux." 这句话从他嘴里说出来的时候,很多人的下巴掉了。包括我。

然后.NET Core来了。开源、跨平台、高性能——这是.NET历史上最大的一次转身,没有之一。 我至今记得第一次把ASP.NET 5项目跑在MacBook上的感觉,那种陌生又熟悉的味道,像在老房子里发现了新房间。

从ASP.NET 5到.NET Core 1.0,再到2.x、3.x,我一步步把自己的项目从传统的Windows Server + IIS,迁到了Linux + Docker + K8s。过程并不轻松,有无数个夜晚对着报错信息发呆。但每一次迁移完成,看着应用在Linux上稳定运行时,心里都有一种说不出的畅快。

微软变了。真的变了。


2021年往后,.NET 5、6、7、8一路狂奔,统一平台的愿景越来越清晰。

而我自己,也从传统的.NET开发逐渐转向了另一个方向。现在我在ai4c担任CTO,专注AI基础设施。手边除了Visual Studio,还多了Python和一大堆大模型的API文档。前段时间启动了OpenClaw.NET开源项目,想把这些年积累的东西回馈给社区。

有时候我会想,22年前那个在WebForm里拖控件的小伙子,和今天这个在研究AI Agent架构的中年人,究竟有什么没变?

大概是那份对技术的好奇,还有对社区的归属感吧。

.NET的故事还在续写。而我,还在跑。


五、转折——MVP的真正意义

去年在上海的一个.NET线下聚会上,有个小伙子端着啤酒过来问我:"老师,您连续20多年MVP,是不是因为您技术特别牛?"

我愣了一下,然后笑了。

我说实话:不是。

我见过太多技术比我强得多的人,代码写得跟诗一样优雅,架构图画得像艺术品,但他们不是MVP。反过来,我也见过技术"没那么硬核"的同行,写的文章平淡朴素,但帮几百个新人跨过了入行时那道坎——他们是MVP。

这就是很多人理解错的地方。微软MVP的评选标准从来不是"技术水平最高",而是"对社区贡献最大"

技术牛,是你自己的事。帮别人成长,才是社区的事。

微软这套制度,聪明就聪明在这里——它不奖励自嗨,它激励分享。你的代码写得再漂亮,如果只是躺在私有的Git仓库里吃灰,对社区而言价值为零。但你把踩过的坑写出来,让十个、一百个人少走弯路,这个价值是实打实的。

所以从这个意义上说,MVP不是技术水平的勋章,而是分享精神的奖状


那22年是怎么跑下来的?

其实答案特别简单,简单到有点"凡尔赛"——因为我从来没想过"保住"MVP。

我写过2307篇博客文章,不是因为"这个月必须写一篇来维持MVP资格",而是因为那天解决了一个棘手的问题,觉得"这个坑值得记录下来,万一有人也踩了呢"。我在Stack Overflow上回答问题,不是因为要凑贡献值,而是因为看到有人卡在一个我刚好懂的问题上,不回答心里痒痒。

说真的,如果你做分享的初心是为了"成为MVP",那你大概率成不了MVP。

评审委员们看的东西可比你想象的细——他们能分辨出一篇文章是真心想帮人,还是为了凑数。那种"为了写而写"的东西,文字里透着敷衍,明眼人一眼就能看出来。

而反过来,如果你真心喜欢分享、真心享受看到别人说"噢!原来是这样!"那一刻的表情,那MVP只是顺带的副产品,跟你在公司好好干活拿了年终奖没什么区别。

这说白了就是:我就是喜欢分享。 不是为了头衔,是真心想帮到人。


还有一个很多人没意识到的事——写一篇文章的过程,比自己看懂要难十倍。

你自己懂一个东西,和让别人也懂,完全是两回事。你自己脑子里那团模糊的概念,要梳理成有逻辑的结构,要找到合适的比喻,要预判读者可能在哪一步会卡住,要把一个复杂的东西拆成层层递进的台阶——这个过程,本身就是对你理解力的一次极限测试。

有多少次,我坐在电脑前准备写一篇"简单的教程",结果越写越发现"原来这个地方我自己也没完全搞懂",然后一头扎进去重新研究,两天后才恍然大悟。

博客园那2307篇文章?每一篇都是我自己的学习笔记。 写给你们看,更是写给我自己看。

说是教别人,其实自己学得更深。


最后说点扎心的。

软件工程师的知识半衰期,大约是三年。

什么意思?三年后的今天,你引以为傲的技术栈里,大概有一半已经过时了。那个你花三个月精通的前端框架,可能已经被新的方案取代了;那套你引以为傲的设计模式,可能在云原生的新范式里不再适用。

听起来很焦虑?我反倒觉得这是件好事。

正是因为知识会过期,你才不能停。停了,就真成了"老古董"。不停,你的头脑就永远是新鲜的。

回头看看这22年,从WebForm到AI Agent,哪一年不是在推倒重来、哪一年不是在重新学习?MVP的22年长跑,本质上就是一场持续学习的马拉松。 不是你跑得快,而是你一直没停下。

头衔是别人给的,但脑子里的东西是自己的。

这大概就是我这22年最大的领悟吧。


六、写在连任之后:下一个起点

讲完这些,你可能以为我要收笔了。

恰恰相反。故事才刚开始。


现在我成了广州智用开物人工智能科技有限公司的CTO,带着一支团队在做AI基础设施。OpenClaw.NET开源生态、TokenHub、AxonHub,这些是我过去两年把主要精力砸进去的地方。

说来也挺有意思。干了22年.NET,现在代码交给了AI 写,做的更多的是决策。AI Agent架构画得比三层架构还顺手。

但.NET依然是我的核心阵地。Semantic Kernel/Microsoft Agent Framework 让.NET直接拥抱了大模型能力,.NET Aspire for AI把AI服务编排做得有模有样。微软还是那个微软,它总能在你担心"是不是要被淘汰了"的时候,递过来一张新船票。

"dotNET跨平台"这个公众号(opendotnet),我也一直在更。只是现在写的不再只是async/await的底层原理,还有.NET怎么和GPT-5对话、怎么用Blazor搭一个AI应用。

技术在变,我手里的键盘也在跟着变。


说到变,社区的变化可能比技术本身更大。

想当年在博客园写篇技术文章,底下能盖几十层评论楼,大家为一个设计模式争得面红耳赤。后来转到微信公众号,变成了"点赞在看转发"的静默互动。现在呢?AI时代来了,很多人连文章都懒得搜,直接问ChatGPT。

形式一直在变,但有一件事没变——人帮助人的精神。

AI能给你生成一段代码,但它给不了你"我踩过这个坑,坑里有三米深的水"这种经验。AI能告诉你DbContext怎么配置,但它不会讲"那个凌晨三点我在生产环境救火,最后发现是连接池泄漏"的故事。

技术人的价值,从来不在那些能搜索到的知识点里,而在那些"活"过的经验里。

这大概也是我还会继续写下去的原因。


所以,想跟正在看这篇文章的年轻技术人说几句——

别为头衔做事,为热爱做事。头衔是结果,不是目标。如果你做某件事的前提是"这能帮我评上XXX",那你从一开始就输了。

分享不是浪费时间。恰恰相反,分享是你学习效果最好的检验方式。 能用自己的话把一件事讲清楚,说明你真正懂了。

技术确实有半衰期,三年前的热门框架今天可能无人问津。但学习能力和分享精神,这两样东西永远不会过期。半衰期不可怕,可怕的是你停止学习的那一天,你的知识就永远定格了。


说完这些,该说谢谢了。

谢谢微软MVP计划这22年的陪伴。它不是我坚持下去的理由,但它是这段长跑路上最温暖的加油站。

谢谢博客园、CSDN、微信公众号这些平台。它们见证了一个技术写作者从青涩到油腻的全过程。

谢谢每一个读过我文章的人。谢谢你们点赞,也谢谢你们在评论区说我"写错了"——正是那些质疑和争论,让我不敢偷懒。

最后,谢谢我的家人。22年意味着无数个周末在写稿,无数个晚上对着电脑屏幕。她们从来没说过"你干这个图啥",只是在我写完之后问一句:"饿不饿?给你煮碗面?"


回到7月15日那天。

那封邮件还在我的收件箱里。我没有把它截图发朋友圈,也没有写一条"感谢组织"的状态。

我只是看了一眼窗外的阳光,然后打开了VS Code,继续写那篇没写完的OpenClaw.NET教程。

22年不是终点,是下一个起点。

MVP会变,.NET会变,连我自己手上的技术栈都在变。但分享这件事——帮那个深夜还在调Bug的人多睡两个小时这件事——永远值得。

下一个22年,我们继续聊。


关于作者
张善友(Shanyou Zhang),微软最有价值专家(MVP)-.NET方向,连续22年连任。现任智用开物CTO,专注AI基础设施与.NET跨平台开发。博客园2307篇随笔,1390万阅读。公众号:dotNET跨平台(opendotnet)。