当前位置: 首页 > news >正文

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

前言

今天大姚给分享分享一款基于 .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) 支持

项目效果演示

image

项目源码地址

更多项目实用功能和特性欢迎前往项目开源地址查看👀,别忘了给项目一个Star支持💖。

  • GitHub开源地址: https://github.com/GeneralLibrary/GeneralUpdate
  • 项目在线使用文档: https://www.justerzhu.cn/docs/doc/GeneralSpacestation

优秀项目和框架精选

该项目已收录到C#/.NET/.NET Core优秀项目和框架精选中,关注优秀项目和框架精选能让你及时了解C#、.NET和.NET Core领域的最新动态和最佳实践,提高开发工作效率和质量。坑已挖,欢迎大家踊跃提交PR推荐或自荐(让优秀的项目和框架不被埋没🤞)。

  • GitHub开源地址:https://github.com/YSGStudyHards/DotNetGuide/blob/main/docs/DotNet/DotNetProjectPicks.md
  • Gitee开源地址:https://gitee.com/ysgdaydayup/DotNetGuide/blob/main/docs/DotNet/DotNetProjectPicks.md
 
http://www.jsqmd.com/news/535593/

相关文章:

  • 3分钟快速上手:体验开源卡牌游戏的策略对决魅力
  • ssm+java2026年毕设蔬菜水果销售网站【源码+论文】
  • AI问答流式输出避坑指南:WebSocket连接管理与讯飞星火API的实战经验
  • ECharts setOption 参数详解
  • AI 通关攻略 · 第 9 关 | Token 定价:AI 是怎么收费的,怎么用才省钱
  • 【单片机】J-Link的RTT-Viewer连不上?
  • 北京白发养黑机构哪家好?黑奥秘全生命周期管理贴合毛发慢病需求 - 美业信息观察
  • 从VC++到Halcon:手把手教你玩转HTuple数据交互(含类型转换陷阱)
  • 实测数据:矩阵跃动小陌GEO+龙虾机器人,助力企业AI搜索曝光提升3倍+的技术实践
  • VLC播放器换肤终极指南:5款VeLoCity主题让你的播放器焕然一新
  • HY-MT1.5-1.8B部署避坑指南:3步搞定环境,小白也能轻松运行
  • MPU9150与MPU9250惯性测量单元驱动开发实战
  • ChatGPT与GitHub高效集成:自动化代码审查与协作实践
  • 高校与教培机构如何选网盘?2026 主流 5 款企业网盘深度实测与避坑指南
  • DISM与VHDX:Windows离线部署与维护实战
  • 开源工具WorkshopDL:跨平台资源获取的轻量级解决方案
  • 收藏!小白程序员轻松入门大模型,从基础到进阶的完整指南
  • 科研党福音:用Zotero 7.0和硅基流动API,免费搞定DeepSeek文献分析(保姆级配置)
  • 释放C盘,提升性能:系统文件迁移对Windows性能影响的实证分析
  • Virtual Display Driver:让单屏秒变多屏工作站的黑科技
  • 用Multisim 14.2复刻经典课程设计:十字路口交通灯仿真(含数码管倒计时与总清零)
  • # 20253910 2024-2025-2 《网络攻防实践》实验三
  • ERTEC200P-2 PROFINET设备开发实战:从XHIF接口到IRT通讯全解析
  • 3个核心策略:如何让银行应用无法检测你的Xposed框架?
  • s2-pro惊艳效果展示:音乐剧台词风格与角色情绪张力表达
  • 抖音a_bogus参数生成机制与栈结构逆向解析
  • 智能客服RAG技术选型指南:从入门到生产环境实战
  • React15 - React15应用中代码逻辑复用方案
  • 解密Spring容器生命周期:SmartLifecycle与ApplicationListener的对比使用指南
  • 5步实现企业IT资产全生命周期管理:Snipe-IT实战指南