意料之中.Net12真要移除mono运行时

发布时间:2026/9/25 20:23:28

意料之中.Net12真要移除mono运行时 大家好我是搬砖工呀。我们这几天还在回顾**.Net11的性能改进昨天晚上刚刚RC1马上就正式版了。官方这时候也开始规划下一版本即.Net12**的开发内容了。然后昨天翻官方仓库runtimes赫然看到如下Epicmono其实对.Net生态贡献巨大特别是在游戏市场。我们C#能够在游戏端占据最少半壁江山mono居功至伟。一代枭雄最后竟是这个下场吗其实也是一切都有预示罗马也不是一天倒塌的。今天我们一起来回顾下mono这26年吧。阶段一 · 拓荒2001–2010先有 Mono才有跨平台 .NET微软 2000 年 6 月发布 .NET Framework同年 12 月把底层 Common Language Infrastructure 公开为ECMA-335标准 —— 这给了第三方独立实现一个合法入口。XimianMiguel de Icaza 判断 .NET 能显著提高开发效率2001 年 7 月 19 日在 O’Reilly 大会上公开 Mono 项目。三年后2004-06-30Mono 1.0 发布目标很直白在 Linux 上跑 .NET Framework 程序也提供一个用 C# 开发 Linux 应用的平台。2003 年 Novell 收购 XimianMono 从社区项目进了大公司。专利阴影它复刻的是微软的 .NET Framework、C# 与类库Linux 社区长期担心用了 Mono 会被追着告。这个阴影直到 2014 年微软开源 .NET 才真正散去 —— 而这恰好是阶段三的起点。意外转折MonoTouch2009-09把 Mono 带到了 iPhone 上。桌面 Linux 应用是 Mono 的初心但真正让它变成刚需的是移动端iOS 禁止 JITMono 的 AOT 成了当时唯一可行的方案。这时候mono多有朝气多么的有活力。阶段二 · 易主2011–2016两次收购一次重建2011 年 4 月Attachmate 收购 Novell随即宣布数百人规模的裁员Mono 团队的命运一时不明。同年 5 月 16 日de Icaza 宣布 Mono 由他新创办的 Xamarin 继续 —— 原班人马整体搬了过去7 月Novell此时已是 Attachmate 子公司授予 Xamarin 对 Mono、MonoTouch、Mono for Android 的永久许可项目归属正式转移。2016 年 2 月 24 日微软宣布收购 Xamarin。对 Mono 而言这是决定性的一步项目、团队、以及移动端那套商业产品全部归入微软。这次易主还有一个容易被忽略的后果Mono 的“项目本部”到这里其实就停了。开发重心迅速从mono/mono迁移到微软自己的仓库mono/mono上最后一次大版本发布是 2019 年 7 月此后只剩补丁。这一点很关键 —— 后来“Mono 归档”归档的是这个本部不是 .NET 里在跑的那份 Mono。阶段三 · 融入官方仓库2014–2023Mono 不再是“另一边”2014 年 11 月 12 日是分水岭微软以 MIT 许可证开源 .NET含 Roslyn、CoreCLR、.NET Core。Mono 4.02015成为第一个并入微软源码的 Mono 版本 —— 从此 Mono 不再只是“对着官方文档重写一遍”的民间实现。真正的融入发生在 .NET 5/6 时期Mono 运行时源码被搬进dotnet/runtime成为官方的“现代化分支”src/mono。对开发者来说这件事几乎没有感知 —— 你只是发现 iOS、Android、WebAssembly 这些目标在 .NET 里能用了。但从架构上看.NET 从此有了两个执行引擎CoreCLR 管服务器与桌面Mono 管移动与浏览器。Mono 官方公告对这段的措辞值得品品Microsoft maintains a modern fork of Mono runtime in the dotnet/runtime repo and has been progressively moving workloads to that fork. That work is now complete, and we recommend that active Mono users and maintainers of Mono-based app frameworks migrate to .NET which includes work from this fork.“That work is now complete” 是一句很有分量的话到 2024 年所有还在用 Mono 的工作负载都已经改用那个分支了。原始项目对新代码不再有需求 —— 归档只是时间问题。这个就是当时的喊得很响的One .Net。不管你什么项目运行在哪个运行时我们都叫.Net。口号很响微软和我们都信了。就这样发展了几个版本。微软自己发现mono更新跟不上runtime。很多特性mono不好实现或者没精力实现。这还能咋办于是官方动起来歪脑筋移花接木。将用mono的生态全部替换为coreclr。一个版本换一个。显示IOS再Andriod。最后到.Net11连wasm也被换了。接着往下看吧。阶段四 · 归档不更新20242024-02-13Mono 发布最后一个补丁版本6.12.0.206。2024-08-27微软宣布把 Mono 项目交给 WineHQ上游仓库迁到 GitLab 上的wine-mono/mono。官方公告里的三条安排基本就是这个项目的退休待遇The last major release of the Mono Project was in July 2019… Source code in existing mono/mono and other repos will remain available, although repos may be archived. Binaries will remain available for up to four years.源码留着、仓库可能归档、二进制再提供四年 —— 也就是说到 2028 年前后连安装包都下不到了。交接后 Mono 被重新定位。WineHQ 仓库的 README 现在把它叫作Framework Mono给 Wine 用在 Linux / macOS 上跑那些为 Windows 写的 .NET Framework 程序。一个曾经要做“Linux 上的 .NET”的项目最后变成了兼容层里的一块零件 —— 但这份工作并不小Wine、CrossOver 之类的方案仍然依赖它。当时 LWN 上一条评论把这个走向说得很清楚微软把“The Mono Project”交出去了但没把 Mono 交出去真正在 .NET 里跑的那份继续由微软维护而它“很可能会在之后被安葬”。阶段五 · 从 .NET 产品里移除2026–2027这一阶段大家都在看着。dotnet团队也确实很有耐心。他们的解释是。coreclr性能更好。但是经常爆出新实现还不如mono的aot。真正意义上的“移除”发生在这一段而且分两步走移动端先走浏览器后走。5.1 移动端2026 年内走完三步时点发生了什么官方口径.NET 11 Preview 12026-02.NET for Android 默认切到 CoreCLRiOS / Mac Catalyst / tvOS 从 Preview 2 起进入实验CoreCLR by DefaultAndroid.NET 11 Preview 42026-05MAUI 移动端默认 CoreCLR但保留UseMonoRuntime退路“默认”可退.NET 11 Preview 62026-07Mono 路径被删除构建期直接报错“CoreCLR is the only runtime for .NET MAUI mobile apps”.NET 11 GA2026-11STS 版本支持两年——Preview 6 那一步是最硬的属性没了想用 Mono 只能把 TFM 退回net10.0-*。错误信息本身就是一份迁移说明NETSDK1242: Building ios projects with the Mono runtime is not supported in .NET 11.0 and later. Use the CoreCLR runtime or target .NET 10.0.NETSDK1242覆盖android、ios、maccatalyst、tvos四个目标平台。官方给出的性能账是这样的iOS 与 Mac Catalyst 普遍快于 MonoAndroid 的启动时间与包体积在 Mono 的 10% 以内。同时到位的还有 .NET 诊断能力 ——dotnet-trace、dotnet-counters现在能直接对着手机用。5.2 浏览器最后一个战场移动端交棒之后Mono 在 .NET 里只剩一个工作负载WebAssemblyBlazor WebAssembly、WASI。.NET 11 Preview 6 的公告专门为此加了一句Blazor WebAssembly is not affected. WebAssembly continues to use Mono, and that is not changing in .NET 11.也就是说.NET 11 里浏览器还是 Mono。但替代品已经在建.NET 11 Preview 1 启动了 CoreCLR on WebAssembly 的地基工程RyuJIT 直接产出 WASM 目标到 Preview 6 官方口径是“CoreCLR on WebAssembly now runs the libraries test suite end to end”WebCIL V1 成为 CoreCLR WASM 构建的默认格式Emscripten 重链接管线补齐Release 构建还会压缩 JavaScript。转正时间写在 .NET 12。ASP.NET Core / Blazor 团队在 .NET 11 的计划说明Microsoft Build 2026 场次 OD802里把话讲得很明白Blazor WebAssembly 的运行时从 Mono 整合到 CoreCLR ——.NET 11 预览.NET 12 稳定多线程与 64 位内存Memory64这类新能力会直接建在 CoreCLR 上而不是回头补 Mono。这也回答了标题里的问题.NET 12 之所以是关键节点是因为它是 Mono 在 .NET 里最后一块阵地的交棒时间.NET 12 预计 2027 年 11 月发布下一个 LTS。5.3 移除了什么、没移除什么上面这张图把三种命运并排放了左边已经发生中间是公开路线图右边是被误读的部分。提醒官方没有发布过“在 .NET 12 里删除src/mono目录”这类正式公告。上面写的 .NET 12 时间点是我对公开路线图ASP.NET Core / Blazor 团队的 .NET 11 计划、Build 2026 场次、.NET Blog的归纳不是官方原话。能确认的确定事实是移动端的 Mono 路径已经关闭浏览器端的替代方案正在预览。另外一个细节.NET 11 Preview 6 的发布说明里“Mono / interpreter”仍然出现在 bug 修复章节。代码还在、解释器还在开工只是不再承担移动端这个负载了 —— 这比“删掉 Mono”是更准确的描述。微软现在做事黏黏糊糊的前几年每次规划Epic他们会发文说下一版有什么很具体,现在规划都是可能有也可能没有。太灵活了严重降低期待。以上就是mono和微软谈恋爱的最终结果了。当mono的创始人离开微软时感觉应该就留下了伏笔然后时mono架构师被莫名裁员。一步步走到了现在。和微软谈恋爱开始很甜蜜结果很悲伤。dotnet团队时个很优秀的团队一直都是。他们确实把coreclr拓展到所有地方。但我这几年观察下来总感觉出力的地方不太对。我颇有微词的地方是NativeAot是个很重要的Target。真的应该在这里大力投入微软其他团队已经在Typescript和Copilot重写上两次放弃.Net。应该深思下为什么了。有时候影响都是慢慢转化的。当微软自己都不用.Net。其他公司或者个人坚持的理由呢我们不提倡唯语言论但是还有希望自己的喜欢别人也爱吧。我是搬砖工大家多多关注点赞您的鼓励是我更新的最大动力。您对mono未来有何看法也请多多留言交流。
延伸阅读

更多相关文章

2026/9/25 20:23:28

云克隆 Luminex 多因子检测试剂盒赋能血管内皮损伤多靶标联合研究

摘要:血管内皮细胞损伤、屏障通透性异常是炎症、脓毒症、血管病变、肿瘤转移的核心始动环节。ANGPT1、ANGPT2、ESM1、ICAM2、SDC1、VCAM1 分别覆盖血管稳定性调控因子、内皮特异性分泌分子、内皮粘附分子、糖萼脱落标志物,共同勾勒内皮激活、屏障破坏的分…

2026/9/25 20:23:28

DeepSeek LeetCode 150. 逆波兰表达式求值 Java实现

思路 逆波兰表达式(后缀表达式)的特点是:运算符在操作数之后,且不需要括号。 用栈求解最自然:遇到数字:入栈遇到运算符:弹出栈顶两个元素做运算,把结果压回栈 遍历结束后&#x…

2026/9/25 20:18:28

readme生成器

生成器这是一个npm命令行工具,这个工具的作用是用来生成文件的。安装npm install --global yo generator-standard-readme使用命令行输入$ yo standard-readme在后面会有许多问题被提出来, 而后生成一个文件。所有的相关问题列举如下所示:What do you want to name your module…

2026/9/25 21:23:31

IronClaw Review Readiness:以证据驱动的 PR 合并就绪度看板

人工智能AI 应用交互助手AI Agent 【免费下载链接】ironclaw IronClaw is an Agent OS focused on privacy, security and extensibility 项目地址: https://gitcode.com/gh_mirrors/iro/ironclaw 点击查看 免费下载 本文围绕 IronClaw 仓库中的 review-readiness …

2026/9/25 21:23:31

老旧蓄电池站改造难题?不停机加装蓄电池在线监测方案来了✨

很多已投运的老旧蓄电池站,都面临同一个棘手痛点: 没有蓄电池在线监测装置🔋 电池单体电压、内阻、温度、剩余容量 SOC 全靠人工定期现场巡检。人工巡检不仅耗费大量人力,更存在明显短板:无法实时捕捉单体劣化、内阻飙…

2026/9/25 21:23:31

比较器的输出电流限流机制:LM311,LM211

LM311输出限流模式LM311,LM211,LM111 **AD\Test\2026\September\TestLM211OutputCurrentLimit.SchDoc *** 01 【LM311 比较器输出限流】 一、测量电路 这是比较器LM311它内部的参考电路图, 在它的输出端被称之为隔离的三极管, 它可以接地或者是负电源&a…

2026/9/25 21:18:31

Kettle循环取结果集传参:跨转换数据管道实战

简介:这份资源面向使用Kettle(Pentaho Data Integration)进行数据集成开发的工程师,聚焦「循环获取结果集并传入转换」这一典型场景,帮助解决跨转换传递变量、按行迭代处理数据的实际问题。资源包共1个文件&#xff0c…

2026/9/25 21:00:17

GAMP 5 基于风险的计算机化系统验证:软件分类与审计追踪实践

简介:《A Risk-Based Approach to Compliant GxP Computerized Systems》即业内熟知的GAMP 5指南,面向制药企业质量与IT合规人员、验证工程师及计算机化系统管理者,用于解决GxP法规环境下系统合规性难以科学落地的问题。文档以风险管理为主线…

2026/9/25 20:59:52

安全托管MSSP实战:从静态防御到人机协同的攻防运营与应急响应

简介:这份PPT围绕互联网业务安全托管服务展开,面向企业安全负责人、IT运维人员及关注MSSP/MSS选型的读者,重点回应传统安全过度依赖人工、碎片化静态防御难以对抗产业化攻击等痛点。资源共1个pptx文件,包体约30.63MB,以…

2026/9/25 0:02:35

AI元人文:从工具使用到思维重构的深度探索

最近半年我一直在琢磨一件事:AI元人文到底是什么?说白了,就是“用元视角重新审视人与AI的关系”,也在“探索AI如何反向逼着我们发现自己的思考边界”。标题里的“元探索”,在我看就是一层套一层的追问——当你用AI解决…

2026/9/25 0:02:35

Python+CNN车牌识别实战:从数据预处理到模型训练与部署

简介:基于Python与卷积神经网络的车牌识别项目,面向计算机视觉初学者及智能交通开发者,目标是帮助用户掌握从数据预处理、模型构建到实际部署的完整流程。压缩包共25个文件,包含jpg/png图像样本、py训练脚本、md说明文档、dat数据…

2026/9/25 0:02:35

Vim基础操作全攻略:保存退出、模式切换与高频命令实战

1. 项目概述1.1 核心需求解析今天聊聊Vim。写这个题目的原因是:几乎每个后端开发者、运维人员、数据工程师某天都会遇到一个场景——深夜加班,服务器登录界面只有黑底白字,编辑器只有vi/vim,你必须在五分钟内完成一次配置修改并保…

2026/9/25 20:55:38

USB Type-C PCB布局分区设计:电源、高速信号与PD协议全攻略

做硬件这行,Type-C接口算是典型的“看着简单,做起来全坑”的东西。光引脚就24个,高低速信号、电源、控制线全部塞在一个小小的连接器里,如果PCB布局不做规划,打样回来基本就是“插上没反应”、“高速掉线”、“静电一打…

2026/9/25 18:41:36

系统编程学习原型如何补齐稳定性边界

系统编程学习原型如何补齐稳定性边界预算有限时&#xff0c;我先优化明显多余的复制&#xff0c;而不是猜测性地换容器。用借用传递只读数据通常就能减少分配&#xff1a; fn parse(line: &str) -> Result<Item, Error> { /* ... */ }用基准确认热点确实在分配&am…

2026/9/25 18:34:56

雨花区哪家财务公司代理记账比较好?

在雨花区&#xff0c;企业处理财税事务常常面临诸多挑战&#xff0c;选择一家靠谱的财务公司至关重要。湖南巨勤财务管理咨询有限公司就是本地正规实体财税服务机构&#xff0c;深耕本地工商财税行业多年&#xff0c;熟悉当地工商局、税务局最新政策与申报流程。主营公司注册、…

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
☎咨询二维码 ☎ ↑