.NET 9 + Avalonia + Prism 高性能、小体积,支持 AOT 跨平台桌面应用 前言日常开发和运维工作中我们常常需要一些轻量、可靠又跨平台的小工具——比如格式化 JSON、转换 YAML、查看系统信息等。但市面上很多工具要么依赖庞大运行时如 Electron要么仅支持单一平台甚至还在用十几年前的界面。有没有可能用.NET 技术栈打造一个真正轻量、原生、跨平台且能跑在老旧系统上的工具箱本文推荐一个基于 .NET 9 Avalonia UI Prism 项目支持 AOT 编译实测可在 Windows 7 到 macOS 11 的环境中稳定运行。项目介绍Toolbox 是一个开源的桌面工具客户端目标是为开发和系统管理员提供一组实用、高效、界面清爽的辅助功能。项目采用.NET 技术栈强调一次开发多端原生运行不依赖 Web 容器不捆绑广告启动快、内存占用低。目前内置 JSON 美化、YAML 转 JSON 等常用功能并预留了模块化扩展接口未来可轻松集成更多工具。项目功能JSON 美化与校验自动格式化杂乱 JSON高亮语法错误支持压缩/展开切换YAML 转 JSON一键将 YAML 配置文件转换为标准 JSON保留结构与注释语义主题切换支持黑白双主题适配不同使用场景和视觉偏好多语言支持内置简体中文与英文切换无需重启模块化架构基于 Prism 框架各工具以独立模块形式加载便于后续扩展。项目特点特点在于兼容性与轻量原生的结合广泛平台支持实测可在 Windows 7需 .NET 6 运行时兼容层、Windows Server 2019、Win10/11 以及 macOS 11 及以上系统运行AOT 发布支持通过 Native AOT 编译生成无依赖的单文件可执行程序体积小、启动快、无 JIT 开销真正原生体验使用 Avalonia UI 渲染界面响应流畅控件行为贴近各平台原生风格零外部依赖无需安装 .NET RuntimeAOT 模式下解压即用适合内网或受限环境干净无干扰无广告、无遥测、无后台进程纯粹为工具本身服务。项目技术.NET 9利用其对 Native AOT 的增强支持实现极致性能与部署简化Avalonia UI跨平台 XAML 框架支持 Windows/macOS/Linux渲染性能优秀Prism用于开发松耦合、可测试的模块化应用便于功能拆分与维护国际化方案基于 .resx 资源文件 动态切换机制实现语言热切换开发流程通过 MSBuild 配置 AOT 发布生成平台专属单文件包目录结构清晰简洁。项目目录AOT发布后目录项目代码根据主显示器的分辨率自动调整窗口大小以适配不同屏幕尺寸private void AdjustWindowSize() { var screen Screens.Primary; if (screen null) { return; } var width screen.WorkingArea.Width; var height screen.WorkingArea.Height; switch (width) { case 1920when height 1080: Width 800; Height 580; break; case 2560when height 1440: Width 1180; Height 720; break; case 3840when height 2160: Width 1300; Height 900; break; default: Width 1520; Height 1080; break; } }项目效果启动速度极快AOT 版本通常在 300ms 内完成内存占用低于 30MB。JSON 美化工具能即时反馈语法错误YAML 转换准确保留层级结构。黑白主题切换流畅界面元素在 Windows 和 macOS 上均保持良好适配。AOT 发布后的目录仅包含一个可执行文件和必要的本地化资源无冗余 DLL非常适合 U 盘携带或批量部署。多语言JSON美化工具YAML转Json工具项目源码项目完全开源代码结构清晰适合 .NET 桌面开发学习或二次开发。Giteehttps://gitee.com/vebin/CodeWF.Toolbox总结桌面工具领域我们常常陷入要么太重要么太旧的困境。CodeWF Toolbox 用 .NET 9 Avalonia Prism 的组合证明了现代 .NET 完全有能力开发轻量、高性能、真跨平台的原生应用——甚至还能兼容 Windows 7 这样的老古董。它不追求大而全而是聚焦于解决具体问题用扎实的工程实践回归工具的本质好用、可靠、不打扰。