.NET 8下的AOT
💡
原文中文,约1400字,阅读约需4分钟。
📝
内容提要
AOT在.NET 8的第5个预览版有了进一步的实现,给人希望。使用AOT的API项目与传统的Web API项目在模版上有区别,命令行创建项目的短名称分别是api和webapi。AOT不支持反射,所以在代码中有反射的使用或使用三方库有反射时都无法使用AOT方式。在.NET 8的API项目中,使用的方式是源生成器,位于System.Text.Json中。AOT类型的项目也不能基于IIS来调试,所以对launchSettings.json作了调整。相当一部分功能已实现,但一些三方的功能也是需要时间对应的。静候AOT的到来。
🎯
关键要点
- AOT在.NET 8的第5个预览版有了进一步的实现,显示出希望。
- 使用AOT的API项目与传统Web API项目在模版上有区别,分别为'asp.net core api'和'asp.net core web api'。
- AOT不支持反射,使用反射的代码或三方库无法使用AOT方式。
- 在.NET 8的API项目中,使用源生成器来处理对象与JSON之间的转换,位于System.Text.Json中。
- 通过特性[JsonSerializable(typeof(Todo[]))]来替换对象和JSON之间的转换。
- AOT类型的项目不能基于IIS调试,因此对launchSettings.json进行了调整。
- 相当一部分功能已实现,但一些三方功能需要时间对应,期待AOT的到来。
➡️