.NET 8使用牛逼的AOT发布ASP.NET Core应用

简介

.NET AOT编译是一种.NET运行时的编译方式,它与传统的JIT编译方式不同。

在传统的JIT编译中,.NET应用程序的代码在运行时才会被编译成本地机器码,而在AOT编译中,代码在运行之前就被提前编译成本地机器码。

这样可以在代码运行的时候不用再编译,让应用启动更快;AOT编译后的代码是二进制,这样的话提高了反编译代码的难度,让应用更安全;它可以减少编译后的文件大小从而节省IO空间;并可以减少内存的使用。

由于AOT编译是发生的运行之前,所以不能编译动态生成代码,比如反射等代码。

.NET 8使用AOT

ASP.NET Core 8.0 正式引入了对 .NET 本机AOT的支持。让ASP.NET Core能直接使用AOT发布程序。

当然.NET 7也支持AOT,不过使用麻烦些。下面小编介绍如何使用。

1、先决条件

要在.NET 8中使用AOT当然首先安装.NET 8的SDK,由于正式版要到11月份才发布,可以使用它的第一个候选版本(rc1),下载地址如下:

dotnet.microsoft.com/zh-cn/download/dotnet/8.0

另外需要下载安装Visual Studio 2022 预览版,并在安装时选择"ASP.NET 和 Web 开发”和“使用 C++ 的桌面开发",如下图:

c52131568fe2604139b9735aa7930c20.png

vs2022预览版下载地址:

visualstudio.microsoft.com/zh-hans/vs/preview/

2、项目准备

创建一个ASP.NET Core Web API项目,注意的是必须选择带AOT标识的项目。

如下图:

f181fbb46f0f3f03767eb96f60f86bf1.png

创建后的项目:

1a76b69c157f44338a85b9614c243159.png

项目多了个http文件,具体在哪里添加API接口还需要研究一下。

当然也可以使用.NET Core CLI命令来创建项目。

命令如下:

dotnet new webapiaot -o AOTtest && cd AOTtest
3、发布项目

Visual Studio 不支持发布 AOT 应用,所以使用.NET Core CLI命令"dotnet publish"来发布。

发布成功的窗口如下:

bbcd7c9ecfbfedf34a5f44c996eb3bf4.png

接下来可以打开发布的release目录来运行。

75ec9a5efbb3b81d041b6b725fbcf2f3.png

直接双击exe文件就可以运行,并且可以在未安装.NET8的环境下运行。

成功运行效果如下:

d8fab3d756f7b573db9328e3185ec996.png

其实.NET 8之前的版本也支持AOT,某些大佬实现过。

结语

本文介绍了AOT,并通过示例展示了在.NET8下使用AOT发布ASP.NET Core应用的过程。

.NET8正式版本将在11月份发布,期待它带来更好的新特性,让.NET焕发青春。

希望本文对你带来收获,你对.NET8的AOT新特性有什么看法,欢迎留言讨论或吐槽。

转自:翔星

链接:mp.weixin.qq.com/s/6n09fOk0nHv1SM4cZHacEg

- EOF -

技术群:添加小编微信dotnet999

公众号:Dotnet讲堂

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值