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

来源:这里教程网 时间:2026-02-21 17:39:19 作者:

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
)中添加:
<runtimeidentifier>linux-arm64</runtimeidentifier>
(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)为例:

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-docker
cpack
工具较重,推荐轻量方案:
手动创建
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 依赖——跑起来比想象中快。

相关推荐