0

0

Avalonia怎么在ARM架构的设备上运行 Avalonia for ARM教程

煙雲

煙雲

发布时间:2026-01-23 11:14:02

|

146人浏览过

|

来源于php中文网

原创

Avalonia 应用可在 ARM 设备(如树莓派、Jetson)直接运行,需确保安装匹配的 .NET 8 ARM64 运行时,构建时指定 linux-arm64,发布命令为 dotnet publish -r linux-arm64 -c Release --self-contained false,部署时安装 GTK 等依赖并赋执行权限即可。

avalonia怎么在arm架构的设备上运行 avalonia for arm教程

Avalonia 本身是跨平台的,原生支持 ARM 架构(包括 ARM64 和 ARM32),只要目标系统有对应 .NET 运行时,就能直接运行。关键不在 Avalonia 框架本身,而在于 .NET SDK/运行时支持打包部署方式 是否适配 ARM 环境。

确认目标 ARM 系统支持的 .NET 版本

Ubuntu on ARM(如树莓派 4/5、RK3588 板、NVIDIA Jetson)通常使用 ARM64(aarch64) 架构。需确保:

  • 目标设备已安装 .NET 6.0 或更高版本的 ARM64 运行时(推荐 .NET 8 LTS)
  • 开发机(Windows/macOS)用的是同版本 SDK,避免框架不兼容
  • 检查命令:dotnet --list-runtimes(在 ARM 设备上运行)应看到类似 Microsoft.NETCore.App 8.0.x [/usr/share/dotnet/shared/Microsoft.NETCore.App]

构建适用于 ARM 的 Avalonia 应用

不要依赖默认的“任意 CPU”构建——必须显式指定运行时标识符(RID):

  • 在项目文件(.csproj)中添加:
    linux-arm64(Ubuntu/Debian ARM64)
    linux-arm(仅限旧版 ARM32,已较少使用)
  • 命令行发布(推荐):
    dotnet publish -r linux-arm64 -c Release --self-contained false
    若要免安装 .NET 运行时,改用 --self-contained true(体积大但便携)
  • 发布后输出目录(如 bin/Release/net8.0/linux-arm64/publish/)里的可执行文件,就是能在 ARM 设备上直接运行的程序

在 Ubuntu ARM 设备上部署和运行

以树莓派 5(Ubuntu 24.04 Server ARM64)为例:

塔猫ChatPPT
塔猫ChatPPT

塔猫官网提供AI一键生成 PPT的智能工具,帮助您快速制作出专业的PPT。塔猫ChatPPT让您的PPT制作更加简单高效。

下载
  • publish 文件夹整体复制到设备(如用 scp 或共享文件夹)
  • 赋予执行权限:chmod +x YourApp
  • 安装必要依赖(Ubuntu):
    sudo apt update && sudo apt install libgtk-3-0 libayatana-appindicator3-1 libnotify4 libglib2.0-0
  • 首次运行可能提示缺少字体,可装默认字体:
    sudo apt install fonts-dejavu-core
  • 运行:./YourApp(注意:不是 dotnet YourApp.dll,除非你没 self-contained)

打包成 deb 安装包(可选,适合批量分发)

deb 包能自动处理依赖和桌面集成(图标、启动器):

  • 使用 dotnet-dockercpack 工具较重,推荐轻量方案:
    手动创建 DEBIAN/control,把 publish 内容放进 /opt/yourapp,加 desktop 文件到 /usr/share/applications/
  • 更简单:用社区工具 dotnetCampus.DeployTool 或自定义脚本生成 deb
  • 验证 deb:dpkg-deb --info yourapp_1.0_arm64.deb,安装:sudo dpkg -i yourapp_1.0_arm64.deb

基本上就这些。不需要改代码,也不用重写 UI,Avalonia 的 XAML 和 MVVM 在 ARM 上完全一致。重点就是选对 RID、装对运行时、补全 GTK 依赖——跑起来比想象中快。

相关专题

更多
mysql标识符无效错误怎么解决
mysql标识符无效错误怎么解决

mysql标识符无效错误的解决办法:1、检查标识符是否被其他表或数据库使用;2、检查标识符是否包含特殊字符;3、使用引号包裹标识符;4、使用反引号包裹标识符;5、检查MySQL的配置文件等等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

182

2023.12.04

Python标识符有哪些
Python标识符有哪些

Python标识符有变量标识符、函数标识符、类标识符、模块标识符、下划线开头的标识符、双下划线开头、双下划线结尾的标识符、整型标识符、浮点型标识符等等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

283

2024.02.23

java标识符合集
java标识符合集

本专题整合了java标识符相关内容,想了解更多详细内容,请阅读下面的文章。

255

2025.06.11

c++标识符介绍
c++标识符介绍

本专题整合了c++标识符相关内容,阅读专题下面的文章了解更多详细内容。

121

2025.08.07

windows查看端口占用情况
windows查看端口占用情况

Windows端口可以认为是计算机与外界通讯交流的出入口。逻辑意义上的端口一般是指TCP/IP协议中的端口,端口号的范围从0到65535,比如用于浏览网页服务的80端口,用于FTP服务的21端口等等。怎么查看windows端口占用情况呢?php中文网给大家带来了相关的教程以及文章,欢迎大家前来阅读学习。

647

2023.07.26

查看端口占用情况windows
查看端口占用情况windows

端口占用是指与端口关联的软件占用端口而使得其他应用程序无法使用这些端口,端口占用问题是计算机系统编程领域的一个常见问题,端口占用的根本原因可能是操作系统的一些错误,服务器也可能会出现端口占用问题。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

1125

2023.07.27

windows照片无法显示
windows照片无法显示

当我们尝试打开一张图片时,可能会出现一个错误提示,提示说"Windows照片查看器无法显示此图片,因为计算机上的可用内存不足",本专题为大家提供windows照片无法显示相关的文章,帮助大家解决该问题。

799

2023.08.01

windows查看端口被占用的情况
windows查看端口被占用的情况

windows查看端口被占用的情况的方法:1、使用Windows自带的资源监视器;2、使用命令提示符查看端口信息;3、使用任务管理器查看占用端口的进程。本专题为大家提供windows查看端口被占用的情况的相关的文章、下载、课程内容,供大家免费下载体验。

453

2023.08.02

C++ 高级模板编程与元编程
C++ 高级模板编程与元编程

本专题深入讲解 C++ 中的高级模板编程与元编程技术,涵盖模板特化、SFINAE、模板递归、类型萃取、编译时常量与计算、C++17 的折叠表达式与变长模板参数等。通过多个实际示例,帮助开发者掌握 如何利用 C++ 模板机制编写高效、可扩展的通用代码,并提升代码的灵活性与性能。

2

2026.01.23

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PostgreSQL 教程
PostgreSQL 教程

共48课时 | 7.6万人学习

Git 教程
Git 教程

共21课时 | 2.9万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号