2026年,应该考虑一个战略决策——将.NET SDK纳入操作系统,这将对整个开发生态产生深远影响。
.NET 10在多方面有显著进展,单文件运行的支持为新的使用场景打开了可能性。一个.cs文件就是一个完整的程序,这为开发范式的转变提供了基础。
单文件运行带来的实际应用场景:
preview.cs,十行代码用ASP.NET Core加载静态文件目录,无需安装http-serverMicrosoft Agent Framework,几十行代码直接与大模型对话,只需一个.cs文件核心价值: 一个.cs文件 = 一个完整的、类型安全的、高性能的.NET程序。部分场景不再需要复杂工具链、CICD、Docker——只需一个.cs文件。
单文件很好很强大,但它有一个前提条件:需要安装 .NET 10 SDK,这是最后一堵墙,需要被打破。
现状困境: 用户需要先安装.NET SDK才能运行.cs文件,这个前置条件立即提高了门槛。
解决方案: 让.NET SDK成为操作系统的一部分——从Windows开始,然后推广到主流Linux发行版。
当Windows或主流Linux发行版自带.NET SDK时,新的开发者和用户的认知将会逐渐改变。
集成.NET SDK,Windows就拥有了统一的、功能完备的开发工具链和 .NET 运行环境,有了这个优势,它将成为上手编写程序最便捷的操作系统。也是运行.NET应用的首选平台。
回顾一下,很多年前,Linux一些发行版就预装了Python和PHP等环境,这极大推动了这些语言的流行,开发者在这些系统上,无需额外安装环境,就能直接上手编写和运行脚本,它们被认为是对开发者友好的操作系统。
不同于老旧和封闭的.NET Framework,现代.NET已被广大开发者认可,将.NET SDK直接带到操作系统中,不仅不会引起反感,反而会被视为对开发者友好的举措,它的单文件运行更加强大,更有发挥的空间。
在开发行业,工具链是绕不开的话题。.NET在这方面堪称典范。当操作系统自带一套标准工具链时,开发者和用户都将受益匪浅。同时也会推动其他生态进行反思和改进。
来看看最火爆的两个生态:
Python生态:
依赖管理:pip → venv/virtualenv → Poetry/Pipenv → requirements.txt/Pipfile 构建工具:setuptools → wheel → flit → poetry → hatch 测试框架:unittest → pytest → nose → hypothesis 代码检查:pylint → flake8 → black → isort → mypy 部署工具:gunicorn → uwsgi → docker
Python开发者需要学习和维护7-8种不同工具,每个项目配置各异。
Node.js生态:
包管理:npm → yarn → pnpm(互不兼容的lock文件) 构建工具:webpack → Rollup → Parcel → Vite → Turbopack 测试框架:Jest → Mocha → Vitest → Playwright 运行环境:node → deno → bun
Node.js开发者面对版本地狱和工具频繁更替。
而.NET Core 从1.0到10.0,一个dotnet命令统一一切:
dotnet new # 项目创建 dotnet build # 编译 dotnet test # 单元测试 dotnet run # 运行 dotnet publish # 发布(含AOT编译、容器化) dotnet tool # 工具管理 dotnet add package # 依赖管理 dotnet format # 代码格式化 dotnet diagnostics # 性能诊断 dotnet ef # 数据库迁移
Important
当其他生态炒作用Rust重构工具链的性能提升时,.NET从第一版起就用一个dotnet命令解决了所有问题。哦对了,.NET不需要版本管理工具,多版本可同时安装且互不干扰。
CLI工具,也会开始考虑使用.NET作为首选开发语言,因为用户不需要额外安装运行时环境。无论是对开发者还是用户,这都是一个极大提升开发体验和用户体验的变革。
当前模式的痛点:
系统级.NET SDK带来的新可能:
dotnet tool成为应用安装器当运用得当时,将形成这样的生态:
Important
能用C#编写的应用,最终都应使用C#编写;能用.NET运行的程序,最终都会使用.NET运行。
当前AI开发生态高度依赖Python,用户端工具常选择Node.js,企业级开发由于巨大的惯性逐渐转向Java。然而,.NET在AI开发领域拥有被低估的竞争优势:
| 优势维度 | 具体价值 |
|---|---|
| 性能 | 相比Python和Node.js有明显优势 |
| 类型安全 | 大型AI项目中显著减少运行时错误 |
| 文档处理 | 丰富的PDF、Word、Excel类库支持 |
| Aspire | 简化服务配置,内置遥测支持(AI应用基本需求) |
| 单文件运行 | 可嵌入工作流,如在skills场景直接运行.cs处理逻辑 |
| Azure | Azure对.NET SDK的第一方支持 |
如果.NET SDK成为操作系统组件,这些优势将更易被开发者发现和利用,推动.NET在AI开发领域的采用。
社区发声:
内容创作:
Important
Windows不预装.NET,这就像是Windows不预装Edge浏览器,Android不预装Chrome浏览器一样让人费解,纯属是自费武功!
我已经预料到一些人找出各种理由反对这个想法,找出各种借口,说出各种政治正确的理由,如:
多了解真正用户的声音,少听一些只会讲政治正确的非目标用户,多一些实际行动,真正做一些有益于生态发展的事情。
Tip
你可以借助本篇文章内容,结合自己的观点,创作更多相关内容,推广这个愿景。