Avalonia 应用可在 ARM 设备(如树莓派、Jetson)直接运行,需确保安装匹配的 .NET 8 ARM64 运行时,构建时指定 linux-arm64,发布命令为 dotnet publish -r linux-arm64 -c Release --self-contained false,部署时安装 GTK 等依赖并赋执行权限即可。
Avalonia 本身是跨平台的,原生支持 ARM 架构(包括 ARM64 和 ARM32),只要目标系统有对应 .NET 运行时,就能直接运行。关键不在 Avalonia 框架本身,而在于 .NET SDK/运行时支持 和 打包部署方式 是否适配 ARM 环境。
Ubuntu on ARM(如树莓派 4/5、RK3588 板、NVIDIA Jetson)通常使用 ARM64(aarch64) 架构。需确保:
dotnet --list-runtimes(在 ARM 设备上运行)应看到类似 Microsoft.NETCore.App 8.0.x [/usr/share/dotnet/shared/Microsoft.NETCore.App]

不要依赖默认的“任意 CPU”构建——必须显式指定运行时标识符(RID):
.csproj)中添加:linux-arm64 (Ubuntu/Debian ARM64)linux-arm(仅限旧版 ARM32,已较少使用)dotnet publish -r linux-arm64 -c Release --self-contained false--self-contained true(体积大但便携)bin/Release/net8.0/linux-arm64/publish/)里的可执行文件,就是能在 ARM 设备上直接运行的程序以树莓派 5(Ubuntu 24.04 Server ARM64)为例:
publish 文件夹整体复制到设备(如用 scp 或共享文件夹)chmod +x YourApp
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 包能自动处理依赖和桌面集成(图标、启动器):
dotnet-docker 或 cpack 工具较重,推荐轻量方案:DEBIAN/control,把 publish 内容放进 /opt/yourapp,加 desktop 文件到 /usr/share/applications/
dpkg-deb --info yourapp_1.0_arm64.deb,安装:sudo dpkg -i yourapp_1.0_arm64.deb
基本上就这些。不需要改代码,也不用重写 UI,Avalonia 的 XAML 和 MVVM 在 ARM 上完全一致。重点就是选对 RID、装对运行时、补全 GTK 依赖——跑起来比想象中快。