代码 > 反思一下对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去写。
但在具体发布上,还是要多考虑。
点击登录