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

推荐订阅源

人人都是产品经理
人人都是产品经理
有赞技术团队
有赞技术团队
WordPress大学
WordPress大学
月光博客
月光博客
T
Tailwind CSS Blog
阮一峰的网络日志
阮一峰的网络日志
小众软件
小众软件
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
Last Week in AI
Last Week in AI
大猫的无限游戏
大猫的无限游戏
S
SegmentFault 最新的问题
罗磊的独立博客
Jina AI
Jina AI
酷 壳 – CoolShell
酷 壳 – CoolShell
宝玉的分享
宝玉的分享
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
博客园 - 三生石上(FineUI控件)
量子位
雷峰网
雷峰网
Apple Machine Learning Research
Apple Machine Learning Research
美团技术团队
博客园 - 聂微东
V
V2EX

博客园 - 张善友

RedNb.Nacos 2.0.0 正式发布:.NET 接入 Nacos 3.2.4,AI Registry 全能力落地 .NET 异常处理的"暗门":代码里写满 catch,你依然能抓住它——从一个 AI Agent 运行时的源码说起 写给 C++ 工程师的 OpenClaw.NET 上手指南:用你熟悉的 C++ 思维,跑起一个生产级 AI Agent .NET 11 RC1 发布:拿到"准生证",生产环境可以上了! 写给 PHP 工程师的 OpenClaw.NET 上手指南:用你熟悉的 PHP 思维,跑起一个生产级 AI Agent 写给 Rust 工程师的 OpenClaw.NET 上手指南:用你熟悉的 Rust 思维,跑起一个生产级 AI Agent 从对标 Java 到对标 Go:Native AOT 的"无痛化"之路,走到哪一站了? NuGet 半年度总结:周下载量从 54 亿到 67 亿,.NET 生态的"新一轮增长期"实锤了 写给 Java 工程师的 OpenClaw.NET 上手指南:用你熟悉的 Spring 思维,跑起一个生产级 AI Agent 写给 TypeScript 工程师的 OpenClaw.NET 上手指南:用你熟悉的 TS 思维,跑起一个生产级 AI Agent 写给 Python 工程师的 OpenClaw.NET 上手指南:用你熟悉的 Python 思维,跑起一个生产级 AI Agent 写给 Golang 工程师的 OpenClaw.NET 上手指南:用你熟悉的 Go 思维,跑起一个生产级 AI Agent MetaSkill 落地 .NET:当 Agent 从「调用工具」进化到「组织工具」 都是 AI 写代码,为什么 C# 比 Java 快半拍 MHS 三部曲(下):谁允许 AI 行动?——权力、合规与中国厂商的答卷 弱模型不能裸奔:Agent Harness 凭什么真实有效 MHS 三部曲(中):8 小时集成、六种被拦截的故障,和一次教科书级的翻车 TensorSharp 3.3.0.0 发布,视频生成、DFlash2 投机解码、安全加固一起来了 MHS 三部曲(上):别急着叫它「物理 MCP」——Anthropic 到底发布了什么 编程语言的「第三条道路」上,走得最远的其实是 C# 纯 .NET 手写 CUDA kernel,GLM-5.3-Flash decode 跑出 llama.cpp 的 2 倍 3 张卡到底能不能跑大模型推理?从 vLLM、llama.cpp 到 TensorSharp 的多卡真相 AI 编程时代,.NET 的机会在哪里? Vibe Coding 月提交量 29 亿次之后:GitHub 的危机、Azure 迁移,以及 .NET 的机会 从 PostgreSQL 到 Kubernetes:开源的护城河,从来不写在代码里 人工智能最先替代的,是人工智能学院自己 企业架构的六种场景:从"四大流派"到数字原生与 AI 原生 TensorSharp 最新进展研究报告:从 DeepSeek V4 Flash 到 GLM-5.2,以及等待中的 GLM-5.3 Google 官方下场安利:Go 是 AI 时代的"理想语言"?其实 C# 更有资格坐这个位置 当"入门第一课"的作者开始 Vibe Coding:廖雪峰 2026 上半年 AI 编程实践深度探索
Rust 成为微软一线语言之后:谈谈 C# 与 Rust 的互补性
张善友 · 2026-09-12 · via 博客园 - 张善友

微软正式将 Rust 列为 Tier-1 语言,与 C++、C#、TypeScript 同级。这不是"狼来了",而是 .NET 生态版图的一次正式重划。对 C# 开发者来说,真正值得思考的问题是:Rust 会抢走什么,又会补上什么?

CSharp与 Rust 的互补架

一、发生了什么

根据 Rust 基金会的一篇客座博客,Rust 已在微软内部获得一线(Tier-1)工程支持。这意味着从本地开发到生产部署,Rust 拥有了完整的"平铺路径":安全的工具链构建、开发者工具、质量工作流、深度平台集成,以及符合 SDL(安全开发生命周期)的要求。

几个值得注意的事实:

  • Rust 已进入 100+ 个微软项目代码库,不再是边缘实验;
  • 微软开发了 Oxidizer——一套构建可扩展 Rust 服务的 crate,已用于 M365 核心服务(Outlook、Word、Excel、OneDrive、SharePoint),Copilot 技术栈也大量借鉴 Rust;
  • 微软构建了 rustc_codegen_utc:把 rustc 直接接入 MSVC 的 Windows 内部工具链,让 Rust 和 C++ 共享统一代码生成平台,跨语言内联、SPGO、hotpatch、崩溃转储分析等能力直接可用;
  • 驱动力很现实:约 70% 的 Windows CVE 漏洞与内存问题有关。Azure CTO Mark Russinovich 直言:"无论我们多么想改进 C 和 C++,都无法让它们达到 Rust 的水平。"

换句话说:微软引入 Rust,首要目标是替换有漏洞的 C/C++ 存量代码,而不是动 C# 的奶酪。

二、定位:两条几乎不相交的赛道

C# 与 Rust 的互补,首先来自生态位的天然分离。

C# 的主场是业务复杂度。

LINQ、async/await、反射与表达式树、Roslyn 源生成器、EF Core、ASP.NET Core 的 DI 与中间件体系——这些能力全部指向一件事:让领域模型低成本地持续演化。做 DDD 的聚合投影、元数据驱动的运行时构图、复杂的编排逻辑,C# 的表达力在工业语言里几乎没有对手。

Rust 的主场是资源与安全边界。

无 GC、确定性析构、编译期内存安全。它适合的是"错一个字节就是一个 CVE"的层:解析器、编解码、加解密、驱动、协议栈、热路径计算。

看微软的实际用法就能验证这一点:Rust 被用来修 Windows 里有漏洞的 C/C++ 代码、做 M365 服务的性能关键层,而面向用户的业务面,依然是 C# 的天下。

三、对 .NET 开发者的四个实际互补点

1. Rust 是 unsafe C# 和 C++/CLI 的继任者

现在 .NET 项目里那些为了性能或调原生库而写的 unsafe 块、C++/CLI 桥接层,是最适合替换成 Rust 的部分。Rust 编译为原生库,C# 通过 P/Invoke 或 LibraryImport 源生成器调用,边界清晰——unsafe 的范围被收敛进了 Rust 编译器的保证之内

2. FFI 摩擦是主要成本,契约设计是关键

Rust 与 C++ 互操作中的 ABI、异常处理、绑定生成问题,对 C#/Rust 同样成立。两条铁律:

  • Rust 的 panic 绝不能跨越 FFI 边界;
  • C# 的异常也不能进入 Rust。

边界两边语义不同构,必须显式定义映射契约(句柄、缓冲区、错误码协议),不能让对象"裸穿"。做过 JSON-LD Framing 或本体投影的读者应该深有体会:跨语义系统的映射,从来都需要显式契约,而不是默认约定。

3. NativeAOT 不是 Rust 的替代品

NativeAOT 让 C# 也能产出无运行时依赖的原生二进制,看似与 Rust 竞争。但代价是牺牲反射相关的动态性——而反射恰是元数据驱动架构(序列化框架、ORM、依赖注入、运行时类型构图)的根基。更现实的组合是:

  • C# 保留完整运行时,做动态业务层与编排层;
  • Rust 做静态、可裁剪、可验证的底层组件。

4. 架构拓扑:C# 编排 + Rust 执行

以工作流 DAG 类的系统为例:如果执行节点中存在性能敏感或处理不可信输入的环节(解析外部文档、执行沙箱化逻辑、高吞吐数据管道),把这些节点实现为 Rust 原生模块,由 C# 编排层调度,是比纯 C# 更稳的拓扑:

  • 编排层享受 C# 的元数据能力与动态性;
  • 执行层享受 Rust 的内存安全与可预测延迟——没有 GC 暂停,对实时性敏感的节点至关重要。

四、总结

C# 与 Rust 的互补,本质是两种确定性的互补:

维度 C# Rust
核心价值 业务表达力 资源与安全确定性
典型层 编排、领域建模、API、元数据驱动 解析、编解码、加密、热路径
内存模型 GC,开发效率优先 所有权,零成本安全
替代对象 —— 存量 C/C++、unsafe 代码

微软把 Rust 提到 Tier-1,不是让它和 C# 竞争,而是补齐 .NET 生态底下那层一直靠 C++ 硬撑的安全底座

对 C# 架构师而言,学会在边界上定义干净的 FFI 契约,远比纠结"要不要学 Rust"更有价值。未来的高性能 .NET 系统,大概率是这样一个形态:C# 在上,Rust 在下,中间是一条显式的、契约化的边界


参考:Rust 正式成为微软一线语言(21CTO)Rust Foundation: Rust is a Tier-1 Language at Microsoft