代码 > 反思一下对c# NativeAOT的理解

2026-09-29

在折腾了Hellclient.net后,对Native AOT的看法本质上发生了一定的变化。

Navite AOT对于现在的c#生态,还是有很大的意义的。核心在于

* 提供了作为CLI工具/云原生项目的可能性

* 提供了DLL导出,作为其他语言调用的库的可能性

* 提升了一定的防破解能力

同样的,凡事都有tradeoff,Native AOT最大的缺点是,难以动态扩展。

不论是嵌入各种脚本引擎,还是用c#本身写扩展,在Nativa AOT下都只能用P/Invoke和最原始的dll打交道。

所以具体来说,要使用NativeAOT的场景是

1.各种轻量级场景

2.需要严格保护代码的场景

不适合使用AOT的是

1.需要动态扩展的体系。

在写代码上,还是要按照可能aot去写。

但在具体发布上,还是要多考虑。

点击登录