NET AOT编译是一种.NET运行时的编译方式,它与传统的JIT编译方式不同。在传统的JIT编译中,.NET应用程序的代码在运行时才会被编译成本地机器码,而在AOT编译中,代码在运行之前就被提前编译成本地机器码。这样可以在代码运行的时候不用再编译,让应用启动更快;AOT编译后的代码是二进制,这样的话提高了反编译代码的难度,让应用更安全;它可以减少编译后的文件大小从而节省IO空间;并可以减少内存的使用。由于AOT编译是发生的运行之前,所以不能编译动态生成代码,比如反射等代码。
.NET 8使用AOT
http://ASP.NET Core 8.0 正式引入了对 .NET 本机AOT的支持。让http://ASP.NET Core能直接使用AOT发布程序。当然.NET 7也支持AOT,不过使用麻烦些。下面小编介绍如何使用。
1、先决条件
要在.NET 8中使用AOT当然首先安装.NET 8的SDK,由于正式版要到11月份才发布,可以使用它的第一个候选版本(rc1),下载地址如下:
http://dotnet.microsoft.com/zh-cn/download/dotnet/8.0
另外需要下载安装Visual Studio 2022 预览版,并在安装时选择“http://ASP.NET 和 Web 开发”和“使用 C++ 的桌面开发”,如下图:
vs2022预览版下载地址:
http://visualstudio.microsoft.com/zh-hans/vs/preview/
2、项目准备
创建一个http://ASP.NET Core Web API项目,注意的是必须选择带AOT标识的项目。如下图:
创建后的项目:
项目多了个http文件,具体在哪里添加API接口还需要研究一下。
当然也可以使用.NET Core CLI命令来创建项目。命令如下:
dotnetnewwebapiaot-oAOTtest&&cdAOTtest
3、发布项目
Visual Studio 不支持发布 AOT 应用,所以使用.NET Core CLI命令"dotnet publish"来发布。发布成功的窗口如下:
接下来可以打开发布的release目录来运行。
直接双击exe文件就可以运行,并且可以在未安装.NET8的环境下运行。成功运行效果如下:
其实.NET 8之前的版本也支持AOT,某些大佬实现过。
支持 AOT ORM
测试项目 | 发布耗时 | 发布后 .exe 体积 | 发布后 .pdb 体积 | 通过AOT |
---|---|---|---|---|
SqlSugar v5.1.4.117 + Sqlite 用的纯净版 | 50.002 | 25,133KB | 180,412KB | 通过 |
EFCore v8.0 + Sqlite | 50.749 | 17,410KB | 168,788KB | 未通过 |
DapperAOT | 49.749 | 16,410KB | 17,410KB | 通过 |
SqlSugar ORM
开源多库架构ORM框架(EF Core单库架构),由果糖大数据科技团队
维护和更新 ,开箱即用最易上手的.NET ORM框架 。生态圈丰富,目前开源生态仅次于EF Core,但是在需要多库兼容的项目或产品中更加偏爱SqlSugar
SqlSugar AOT详细教程 AOT 支持 .NET ORM - SqlSugar 5x - .NET果糖网
猜你喜欢
- 22天前(大理悦云雅阁酒店电话)雅阁酒店集团|端午佳节礼遇,大理悦云雅阁度假酒店
- 22天前(艾美酒店连锁)艾美酒店全球夏日计划回归,联手Wishbone主厨推出创新冰饮
- 22天前(甘肃文旅项目)甘肃省文旅产业链招商引资推介会在天水成功举办
- 22天前(新西兰航空官方网站)新西兰航空85周年焕新启航 全方位客舱升级,飞「悦」快意时光
- 22天前(中国最好的避暑山庄)2025中国十大避暑山庄评选揭晓,澳涞山庄夺魁
- 22天前(澳涞坞是什么)从本土品牌到全球舞台:澳涞山庄获国际顶级产业资源加持
- 22天前(中国旅游集团旗下酒店)中国旅游集团酒店控股有限公司战略投资雅阁酒店集团
- 22天前(美诺酒店集团旗下臻选品牌m collection)美诺酒店集团启动盛橡品牌战略焕新 开启全球扩张新篇章
- 22天前(世茂海峡大厦多高)巴西地产高管齐聚厦门世茂海峡大厦 共探超高层建筑锻造经验
- 22天前(内蒙古交通旅游图)内蒙古着力提升交通与旅游服务水平
网友评论
- 搜索
- 最新文章
- (2020广州车展哈弗)你的猛龙 独一无二 哈弗猛龙广州车展闪耀登场
- (哈弗新能源suv2019款)智能科技颠覆出行体验 哈弗重塑新能源越野SUV价值认知
- (2021款全新哈弗h5自动四驱报价)新哈弗H5再赴保障之旅,无惧冰雪护航哈弗全民电四驱挑战赛
- (海南航空现况怎样)用一场直播找到市场扩张新渠道,海南航空做对了什么?
- (visa jcb 日本)优惠面面俱到 JCB信用卡邀您畅玩日本冰雪季
- (第三届“堡里有年味·回村过大年”民俗花灯会活动)第三届“堡里有年味·回村过大年”民俗花灯会活动
- (展示非遗魅力 长安启源助力铜梁龙舞出征)展示非遗魅力 长安启源助力铜梁龙舞出征
- (阿斯塔纳航空公司)阿斯塔纳航空机队飞机数量增至50架
- (北京香港航班动态查询)香港快运航空北京大兴新航线今日首航
- (我在港航“呵护”飞机 每一次安全着陆就是最好的荣誉)我在港航“呵护”飞机 每一次安全着陆就是最好的荣誉
- 热门文章