找回密码
 立即注册
首页 业界区 业界 一款基于 .NET 开源、跨平台应用程序自动升级组件 ...

一款基于 .NET 开源、跨平台应用程序自动升级组件

钤凑讪 昨天 04:49
前言

今天大姚给分享分享一款基于 .NET 开源免费、跨平台应用程序自动升级组件:GeneralUpdate。
项目介绍

GeneralUpdate 是一个基于 .NET Standard 2.0 的跨平台应用程序自动升级组件(桌面客户端自动升级解决方案),项目遵循 Apache 2.0 协议开源。该组件不依赖任何 UI 框架,旨在减少更新产生的资源消耗。通过提供一键启动示例,帮助开发者快速理解如何将自动升级功能集成到自己的应用程序中。
应用场景

GeneralUpdate 适用于需要自动更新功能的各类应用程序,包括但不限于:

  • 桌面应用程序:如 WPF、WinForms、Avalonia、MAUI(仅支持 Android 平台)等开发的桌面软件。
  • 控制台应用程序:需要定期或按需更新的后台服务或工具。
  • 跨平台应用:支持 Windows、Linux、macOS 等多平台的应用程序更新。
支持功能

基础更新策略

功能说明断点续传更新失败后下次启动可继续下载未完成包,提升大文件更新稳定性。逐版本更新多版本差距时按发布日期顺序逐步升级,避免跳跃式更新导致兼容问题。二进制差分更新通过差值算法生成补丁文件,仅传输变更部分,节省带宽与时间。增量更新功能仅更新修改过的文件并删除废弃文件,实现最小化变更集。强制更新客户端启动即触发更新,确保用户始终使用最新合规版本。分支与推送机制

功能说明多分支更新支持产品多分支并行开发,各分支独立配置更新内容。最新版本推送基于 SignalR 实时推送当前最新版通知,实现主动更新提醒。用户体验与控制

功能说明跳过更新允许用户弹窗选择是否更新本次发布;服务端强制更新时此选项失效。相互升级主程序与升级程序可互相更新,形成闭环自洽的更新体系。黑名单更新过程中自动跳过指定文件或扩展名列表,防止误覆盖关键资源。部署与运维增强

功能说明OSS 极简更新只需在服务器放置 version.json 配置文件,组件自动识别并下载对应版本。回滚/备份更新前本地备份,若启动失败或崩溃则自动恢复至上一稳定版本。驱动更新基于 GeneralUpdate.Drivelution 实现跨平台驱动自动更新(Win/Linux/macOS),含签名验证、权限管理等完整流程。扩展与高级特性

功能说明扩展管理类似 VS Code 插件系统,支持目录管理、远程查询、依赖解析、事件通知等。自定义方法列表注入自定义方法集合,在更新前执行预处理逻辑,异常时订阅通知。AOT 编译支持支持 Ahead-of-Time 编译发布,适配高性能或受限环境需求。身份认证HTTP 请求中传递 token 进行资源访问控制,保障更新源安全性。支持框架

.NET 框架支持情况

.NET框架名称是否支持.NET Core 2.0支持.NET 5 ... to last version支持.NET Framework 4.6.1支持UI 框架支持情况

UI框架名称是否支持WPF支持UWP商店模式下不可更新MAUI目前仅支持Android平台Avalonia支持WinUI支持Console支持WinForms支持支持操作系统

操作系统名称是否支持Windows支持Android (.NET MAUI)支持麒麟V10(飞腾S2500)支持麒麟V10(飞腾FT-2000)支持麒麟V10(x64)支持Ubuntu 24.04.1 LTS支持龙芯(Loongnix LoongArch 3A6000)支持华为欧拉(EulerOS-鲲鹏Kunpeng)支持Apple Mac (M1)支持统信UOS (x64)支持项目效果演示

1.png

项目源码地址


更多项目实用功能和特性欢迎前往项目开源地址查看
来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

相关推荐

您需要登录后才可以回帖 登录 | 立即注册