兼容性与支持策略
当前支持基线
| 范围 | 基线 | 状态 |
|---|---|---|
| .NET NuGet 资产 | 六个核心与通用包支持 net8.0;net10.0;11 个可选第三方主题包支持 net10.0。 |
通知包的平台专用资产见下文;桌面 Gallery 与测试以 .NET 10 为目标框架。 |
| Avalonia | 12.1.2 |
Avalonia 控件包的构建与 headless 测试基线。最低版本由第三方集成包而非核心库决定。 |
| Windows | Avalonia 12 支持的 x64/ARM64 主机 | 库级兼容;设备与辅助技术验收仍需人工完成。 |
| macOS | Avalonia 12 支持的 x64/Apple Silicon 主机 | 库级兼容;VoiceOver 验收仍需人工完成。 |
| Linux | Avalonia 12 支持的 x64/ARM64 主机 | 已进行 Linux headless 测试;Orca 验收仍需人工完成。 |
| Android | 通知包由打包脚本显式加入 net10.0-android(最低 API 23);Gallery 宿主使用 net10.0-android。 |
不提供已停止支持并会触发 NETSDK1202 的 net8.0-android;模拟器与真机验收仍需人工完成。 |
| iOS / 浏览器 | 不属于预览版目标平台 | 暂无支持承诺。 |
核心运行时包仅依赖 Avalonia 与 MaterialColorUtilities,不依赖 Avalonia Desktop、Win32、X11、macOS 或仅面向桌面的主题包。所有包 ID 与目标框架请见 NuGet 包指南。
版本策略
当前包版本为 0.5.0-preview.2(共 18 个包)。更早的预览说明仅记录历史基线。
预览包可能调整 API;调整时应同时更新变更记录与迁移说明。
稳定版遵循 Semantic Versioning。
更新 Avalonia 次版本前,会对支持的 .NET 目标框架进行 Release 构建、headless 测试、包校验与平台矩阵验证。
公共 Md* 控件类型、styled property、枚举、主题 JSON 字段与资源键名称均属于兼容性接口。
原生通知包
Md3.Avalonia.Notifications 是独立包,不依赖 Avalonia。macOS/Linux 使用 net8.0 与 net10.0;Windows 使用 net8.0-windows10.0.19041.0 与 net10.0-windows10.0.19041.0;打包脚本传入 -p:IncludeAndroidTarget=true 时,为 Android 加入 net10.0-android。Android 最低 API 级别为 23;由于 net8.0-android 已停止支持,因此不提供该目标。Windows 使用 WinRT toast API,macOS 使用 AppKit 中已弃用的 NSUserNotificationCenter,Linux 调用原生 libnotify,Android 使用 NotificationManager;实现不会启动外部辅助进程。Linux 需要 libnotify 与 D-Bus 通知服务。注册与权限要求见中文包 README。各操作系统上的显示与权限行为仍需人工验证。
Android 范围
gallery/Md3.Avalonia.Gallery.Android 刻意置于桌面 solution 之外,使未安装 Android workload 的贡献者也能构建库与桌面 Gallery。验证该宿主需要 Java 17 和 .NET Android workload:
dotnet workload install android
dotnet build gallery/Md3.Avalonia.Gallery.Android -c Release
该宿主使用 ISingleViewApplicationLifetime 与 AndroidGalleryView。弹层模板不会强制使用 OverlayLayer,以保留 Avalonia 在 Android 上的回退行为。
仍需外部人工验收
自动化无法替代 ARM64 设备测试或辅助技术审查。稳定版发布前,应按 docs/RELEASE_VALIDATION.md 完成 Android 触控/输入法/旋转/生命周期、Windows Narrator、macOS VoiceOver 与 Linux Orca 的验收清单。