首页 > 其他分享 >.net8 AOT笔记

.net8 AOT笔记

时间:2023-10-10 17:45:21浏览次数:35  
标签:net8 x64 笔记 AOT linux dotnet HOME

.net8 AOT笔记

 近期。net8发布了第一个rc版本,刚好近期在做一些.net6下的一些程序验证,顺带试了下。

以x64为例

系统ubuntu22.4 x64

 

下载.net8 sdk

https://dotnet.microsoft.com/en-us/download/dotnet/thank-you/sdk-8.0.100-rc.1-linux-x64-binaries

 

安装.net8

mkdir -p $HOME/dotnet && tar zxf dotnet-sdk-8.0.100-rc.1.23463.5-linux-x64.tar.gz -C $HOME/dotnet

export DOTNET_ROOT=$HOME/dotnet

export PATH=$PATH:$HOME/dotnet

 

测试安装配置是否成功

dotnet –info

 

进入代码project目录(不是sln目录,而是csproj目录)

常规发布命令

dotnet publish -r linux-x64 -c Release

 

AOT发布(-p:PublishAot=true 参数)

dotnet publish -r linux-x64 -c Release -p:PublishAot=true

 

如果报错,则需安装依赖

sudo apt-get install clang zlib1g-dev

 

 

ARM64环境搭建

注意下载ARM64的包

这边测试平台主要是高通410平台debian11、rk3568 Armbian (23.08.0-trunk),均为arch64环境

下载SDK路径

https://dotnet.microsoft.com/en-us/download/dotnet/thank-you/sdk-8.0.100-rc.1-linux-arm64-binaries

 

安装SDK

mkdir -p $HOME/dotnet && tar zxf dotnet-sdk-8.0.100-rc.1.23463.5-linux-arm64.tar.gz -C $HOME/dotnet

export DOTNET_ROOT=$HOME/dotnet

export PATH=$PATH:$HOME/dotnet

 

常规发布命令

dotnet publish -r linux-arm64 -c Release

 

AOT发布(-p:PublishAot=true 参数)

dotnet publish -r linux-arm64 -c Release -p:PublishAot=true

 

如果报错,则需安装依赖

sudo apt-get install clang zlib1g-dev

 

 

注意事项:

发布出来的软件如果是在较高的linux中AOT编译出来的,则软件适用用范围为编辑环境的linux版本或更高版本,否则在低版本linux中可能因为依赖导致无法运行。

比如Armbian23.08上编译的AOT程序将无法运行到debian11中,提示GLIBC版本问题

./XxxSimulator: /lib/aarch64-linux-gnu/libc.so.6: version `GLIBC_2.32' not found (required by ./XxxSimulator)

./XxxSimulator: /lib/aarch64-linux-gnu/libc.so.6: version `GLIBC_2.34' not found (required by ./XxxSimulator)

 

所以AOT发布尽量选取最低支持的平台上进行,以便支持更多的运行平台

标签:net8,x64,笔记,AOT,linux,dotnet,HOME
From: https://www.cnblogs.com/taozebra/p/17755309.html

相关文章

  • C#学习笔记--逻辑语句(分支和循环)
    逻辑语句条件分支语句条件分支语句可以让顺序执行的代码逻辑产生分支,满足对应条件地执行对应代码逻辑。IF语句//IF语句块inta=5;if(a>0&&a<15)//注意结尾无分号{Console.WriteLine("a在0到15之间");}//if……else结构if(false){Console.WriteLine("满足if......
  • Vue学习笔记(八):Vue脚手架
      Vue脚手架是Vue官方提供的标准化开发工具,使用Vue脚手架(vue-cli)可以快速创建vue项目。  1安装npm¶  第一步(仅第一次执行):下载npm,npm(nodepackagemanager)是nodejs下的包管理工具,后续下载、管理vue包都得通过npm进行,下载地址如下:http......
  • abp.vnext笔记
    安装工具dotnettoolinstall-gVolo.Abp.Cli--version6.0创建项目abpnewTodoApp--version6.0.0配置数据库连接修改TodoApp.DbMigrator和TodoApp.Web项目的appsettings.json"ConnectionStrings":{//"Default":"Server=(LocalDb)\\MSSQLLocalDB;Da......
  • 《复盘:对过去的事情做思维演练》读书笔记
    复盘是对过去所作的事情进行回顾、反思和探究,找出原因,找到规律,从而指导我们解决问题,帮助我们提升。对于复盘来说,回顾、反思、探究、提升,一个都不能少。复盘的由来复盘,原本是围棋中的一个术语。当下完一盘棋之后,要重新再棋盘上走一遍,看看哪些子下的好,哪些子下得不好,哪些地方可以......
  • 学习笔记:斜率优化
    引入有时候我们会遇见一些dp式子\[f_i=\min(f_j+a_i\timesb_i)(j\leqi-1)\]这些式子和\(j\)没有任何关系可以前缀处理最小值\(O(n)\)快速解决但是有些式子是这样的\[f_i=\min(f_j+a_i\timesb_j+c_i)\]这种问题可以使用斜率优化至\(O(n\logn)\)例题传送门很......
  • 学习笔记427—Python Keras 报错AttributeError: 'Sequential' object has no attribu
    PythonKeras报错AttributeError:'Sequential'objecthasnoattribute'predict_classes'解决方法本文文要介绍Python中,使用Keras执行yhat_classes=model.predict_classes(X_test)代码报错:AttributeError:'Sequential'objecthasnoattribute'pr......
  • 学习笔记426—keras中to_categorical函数解析
    keras中to_categorical函数解析1.to_categorical的功能简单来说,to_categorical就是将类别向量转换为二进制(只有0和1)的矩阵类型表示。其表现为将原有的类别向量转换为独热编码的形式。先上代码看一下效果:fromkeras.utils.np_utilsimport*#类别向量定义b=[0,1,2,3,4,5,6,7......
  • 学习笔记425—train_test_split 函数介绍
    train_test_split函数介绍在机器学习中,我们通常将原始数据按照比例分割为“测试集”和“训练集”,从sklearn.model_selection中调用train_test_split函数 简单用法如下:X_train,X_test,y_train,y_test=sklearn.model_selection.train_test_split(train_data,train_targe......
  • 学习笔记424—%matplotlib inline的作用
    %matplotlibinline的作用%matplotlibinline是一个魔术命令(magiccommand),用于在JupyterNotebook或IPython环境中显示matplotlib图形的内嵌设置。当使用%matplotlibinline命令时,它会告诉Python在生成的图形直接嵌入到Notebook中的输出单元格中,而不是作为弹出窗口显示......
  • 学习笔记423—41.7%年化收益率 人工智能买股可以如此简单
    41.7%年化收益率人工智能买股可以如此简单学一门知识,充实自我掌握一项工具,让生活更美好~今天flare老师教大家AI选股,轻松搭建一个年化收益40%的机器学习选股策略—byflarezhao,转载请注明出处,原创不易,谢谢支持话不多说,先看策略的最终表现:2017年12月到2019年12月期间......