GeneralUpdate版本更新公告20221009

2ce3c49262952a1be112a55154d9f5a2.png

大家好我是juster,GeneralUpdate的开源项目作者。这次将发布GeneralUpdate兼容.NET MAUI和多平台为核心的版本。经过国庆假期的打磨修复了大量开源社区开发者的提交的bug和不合理修改建议,重构、删除了大量代码和结构使用和上一个版本没有太大变化。

1.更新简介

(1)github开源地址变更

这里需要特别说明的是原github上的地址已经放弃更新,请各位开发者移步上面的开源仓库地址重新star:

  • 原地址:https://github.com/WELL-E/AutoUpdater

  • 新地址:https://github.com/JusterZhu/GeneralUpdate

(2)收集建议

另外在本周六准备开一场直播,收集各位的建议。参考:https://mp.weixin.qq.com/s/H7AlI7Xaw7nvxo4-UrP5DA

(3)在线文档更新

在线帮助文档也迎来了巨大改变希望能帮助大家更快的使用组件。见:http://justerzhu.cn/ 。我们简单的预览一下出现了哪些变化,增加了各个组件的介绍和代码示例,还有快速启动和相关技术的学习等等内容。

6eac8bc301b366cdc9af0a578ae28bfa.png

(4)使用技术更新

本次更新主要新增了.NET MAUI的兼容,还有Minimal API的使用。源码的目录也发生了变化新增了测试用例还有示例代码,相比之前更加简洁防止第一次接触的小伙伴头晕。

c80d5ae3bd0d89c761f98d27168fbc19.png

2.发布内容

组件名称版本号(old)版本号(new)状态
GeneralUpdate.AspNetCore1.1.01.4.1正常
GeneralUpdate.ClientCore2.3.62.8.9正常
GeneralUpdate.Core4.10.124.11.18正常
GeneralUpdate.Differential1.0.01.3.0正常
GeneralUpdate.Zip1.0.01.3.0正常
GeneralUpdate.Tool1.0.02.1.5正常
GeneralUpdate.Single1.0.0-正常

【1】组件GeneralUpdate.AspNetCore

(1)重构:将之前的version和validate方法合并为Update方法,将这一个方法完成版本验证和返回更新信息功能。

(2)新增:为配合GeneralUpdate.PacktTool自动上传发布功能,新增了upload方法。完成版本信息入库和更新包落文件服务器。

GeneralUpdate.AspNetCore组件添加文件上传接口 · Issue #I55NFC · Juster.zhu/GeneralUpdate - Gitee.com

(3)新增:该方法是为了配合客户端即使推送重要版本或服务端服务之间的更新,新增的push调用一次之后会通过Signal R推送更新信息。

【2】组件GeneralUpdate.ClientCore

(1)修复:AutoUpdate.Core与AutoUpdate.ClientCore文件冲突问题 · Issue #I5F2YM · Juster.zhu/GeneralUpdate - Gitee.com

(2)修复:更新组件无需更新报错 · Issue #I5F1VN · Juster.zhu/GeneralUpdate - Gitee.com

(3)重构:更新机制需适配多个操作系统平台 · Issue #I5LYQZ · Juster.zhu/GeneralUpdate - Gitee.com

(4)重构:重构版本验证机制 · Issue #I5LYQY · Juster.zhu/GeneralUpdate - Gitee.com

(5)新增:配置适应MAUI - Windows machice · Issue #I4TGJC · Juster.zhu/GeneralUpdate - Gitee.com

(6)修复:当主程序已经是最新时,是不是应该先判断,这时候就不用启动升级软件吧?· Issue #I5O53P · Juster.zhu/GeneralUpdate - Gitee.com

(7)重构:

public GeneralClientBootstrap Config(ClientParmeter info)

修改为:

public GeneralClientBootstrap Config(Configinfo info)

只是改变了类名称,字段内容删除validaterul和versionurl。

(8)新增:

用户自定义方法,决定是否跳过本次更新的Task版本方法。

public GeneralClientBootstrap SetCustomOption(Func<Task<bool>> func)

(9)新增:

在更新配置中新增了枚举,将原来的字符串“.zip”修改为枚举Format.ZIP,防止用户输入字符串错误。

Option(UpdateOption.Format, Format.ZIP)

【3】组件GeneralUpdate.Core

(1)重构:更新机制需适配多个操作系统平台 · Issue #I5LYQZ · Juster.zhu/GeneralUpdate - Gitee.com

(2)重构:重构版本验证机制 · Issue #I5LYQY · Juster.zhu/GeneralUpdate - Gitee.com

(3)修复:当主程序已经是最新时,是不是应该先判断,这时候就不用启动升级软件吧?· Issue #I5O53P · Juster.zhu/GeneralUpdate - Gitee.com

(4)修复:BUG: "GeneralUpdate.Core\Utils\FileUtil.cs" GetFileMD5 函数异常 · Issue #I5J0KA · Juster.zhu/GeneralUpdate - Gitee.com

(5)修复:多级文件夹结构更新失败问题 · Issue #I59QRI · Juster.zhu/GeneralUpdate - Gitee.com

(6)新增:在更新体系中添加客户端唯一标识 · Issue #I55NFP · Juster.zhu/GeneralUpdate - Gitee.com

(7)下线:json配置文件更新功能,将直接覆盖。等待重构完成再次上线。影响范围如下:

老哥,一点点建议 · Issue #I556BK · Juster.zhu/GeneralUpdate - Gitee.com

报错 · Issue #I53XYX · Juster.zhu/GeneralUpdate - Gitee.com

(8)调研:可行。

调研Mac环境下是否可以正常运行 · Issue #I4TGKK · Juster.zhu/GeneralUpdate - Gitee.com

(9)修复:bug:"GeneralUpdate\src\GeneralUpdate.Core\Download\AbstractTask.cs" 第143行 · Issue #I4WQQ0 · Juster.zhu/GeneralUpdate - Gitee.com

【4】组件GeneralUpdate.Differential

重构:递归查找需更新文件,防止一些文件没有更新检测到。添加树形结构管理更新文件目录结构。

修复:只能更新第一层文件bug,现在可以递归更新所有目录下的文件夹和子文件夹内的文件列表。

修复:打包工具打包文件包含两个名称相同但后缀不同的文件时会出错 · Issue #I5O4OD · Juster.zhu/GeneralUpdate - Gitee.com

【5】组件GeneralUpdate.Zip

(1)修复:关于文件压缩的几个问题 · Issue #I5J4Y6 · Juster.zhu/GeneralUpdate - Gitee.com

(2)修复:word文件乱码 · Issue #I5O4S6 · Juster.zhu/GeneralUpdate - Gitee.com

(3)修复:下载包解压在C盘下Program Files (x86)时,没有权限操作怎么处理?· Issue #I4ZKQ4 · Juster.zhu/GeneralUpdate - Gitee.com

【6】GeneralUpdate.PacketTool

(1)修复:打包工具打包时,没有考虑有子文件夹的问题 · Issue #I5O4P8 · Juster.zhu/GeneralUpdate - Gitee.com

(2)重构:重构文件功能体系 · Issue #I59Q5W · Juster.zhu/GeneralUpdate - Gitee.com

(3)重构:打包工具迁移到MAUI · Issue #I5QOLG · Juster.zhu/GeneralUpdate - Gitee.com

(4)新增:GeneralUpdate.Tool添加上传功能 · Issue #I55NF1 · Juster.zhu/GeneralUpdate - Gitee.com

(5)修复:当只修改文件内容时,PacketTool打包功能无效 · Issue #I5BERJ · Juster.zhu/GeneralUpdate - Gitee.com

(6)修复:文件解压后中文名显示乱码 · Issue #I502QQ · Juster.zhu/GeneralUpdate - Gitee.com

【7】组件GeneralUpdate.Single

该组件继续坐冷板凳。

【8】测试用例 、示例代码

示例代码:

src/c#/GeneralUpdate.Api/Program.cs · Juster.zhu/GeneralUpdate - Gitee.com

src/c#/GeneralUpdate.Client/MainPage.xaml.cs · Juster.zhu/GeneralUpdate - Gitee.com

src/c#/GeneralUpdate.Upgrad/Program.cs · Juster.zhu/GeneralUpdate - Gitee.com

测试用例(还在完善):

src/c#/TestClientCore/UnitTest1.cs · Juster.zhu/GeneralUpdate - Gitee.com

src/c#/TestDifferential/UnitTest1.cs · Juster.zhu/GeneralUpdate - Gitee.com

src/c#/TestMD5/UnitTest1.cs · Juster.zhu/GeneralUpdate - Gitee.com

src/c#/TestService/Program.cs · Juster.zhu/GeneralUpdate - Gitee.com

src/c#/TestZIP/UnitTest1.cs · Juster.zhu/GeneralUpdate - Gitee.com

以上组件将会同步到github、gitee、nuget平台,欢迎大家转发、关注、支持、打赏。GeneralUpdate最新动态将优先在本公众号发布,关于本次发布分享到这里,感谢各位的阅读。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/281829.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

实验2 java_《Java程序设计》实验2

1、使用java语言编程&#xff0c;从键盘输入N个整数存储到数组中&#xff0c;求数组所有元素的和、最大值和平均值。import java.util.Scanner;public class Program01{public static void main(String [] args){Scanner scanner new Scanner(System.in);System.out.println(&…

WPF遍历当前容器中某种控件的方法

原文:WPF遍历当前容器中某种控件的方法版权声明&#xff1a;本文为博主原创文章&#xff0c;未经博主允许不得转载。 https://blog.csdn.net/m0_37591671/article/details/79528845 WPF遍历当前容器中某种控件的方法 WPF遍历当前容器中某种控件的方法1.目的&#xff1a;2.实现思…

gradle 转 maven

1. 预备 1.1. java 环境 验证 java -version   1.2. gradle 安装&#xff0c; 参考&#xff0c; 这里列举下windows下的安装 b.1 下载包&#xff1a;https://gradle.org/releases b.2 解压&#xff0c;例如放到D:\soft\gradle\gradle-3.5 b.3 添加到环境变量&#xff0c; 把D…

详细的DedeCMS(织梦)目录权限安全设置教程

一、目录权限根据统计&#xff0c;绝大部分网站的攻击都在根目录开始的&#xff0c;因此&#xff0c;栏目目录不能设置在根目录。DEDECMS部署完成后&#xff0c;重点目录设置如下&#xff1a;1&#xff09;将install删除。2) data、templets、uploads、a或html目录&#xff0c;…

java证书的安装_Java 第三方证书安装

1、进入dos命令行&#xff0c;进入目录C:\Program Files (x86)\Java\jre6\lib\security&#xff0c;2、导入命令&#xff1a; keytool -import -keystore "C:\Program Files (x86)\Java\jre6\lib\security\cacerts" -storepass changeit -keypass changeit -alias em…

善用Object.defineProperty巧妙找到修改某个变量的准确代码位置

2019独角兽企业重金招聘Python工程师标准>>> 我今天的工作又遇到一个难题。前端UI右下角这个按钮被设置为"禁用(disabled)"状态。 这个按钮的可用状态由属性enabled控制。我通过调试发现&#xff0c;一旦下图第88行代码执行完毕之后&#xff0c;这个按钮的…

缓冲运动之框架開始一级简单框架实例

***********************缓冲运动【框架開始】-1.html********************************************* <!DOCTYPE html> <html><head lang"en"><meta charset"UTF-8"><title></title><style type"text/css&qu…

将字符串分割为指定长度的子字符串

将一个字符串从左至右&#xff0c;分割成指定长度的子字符串&#xff08;注&#xff1a;最后一个子字符串的长度不一定等于指定的长度&#xff09; 1 #include <stdio.h>2 #include <string.h>3 4 #define STR_LENGTH 5 //分割之后每个字符串的长度&#xff08;最…

使用 C# 开发的轻量级开源数据库 LiteDB

你好&#xff0c;这里是 Dotnet 工具箱&#xff0c;定期分享 Dotnet 有趣&#xff0c;实用的工具或组件&#xff0c;希望对您有用&#xff01;简介 LiteDB 是一个小型、快速、轻量级的 .NET NoSQL 嵌入式数据库&#xff0c;也就是我们常说的 K/V 数据库&#xff0c;完全用 C# …

微信小程序仿微信SlideView组件slide-view

微信小程序仿微信SlideView组件。 使用 1、安装 slide-view 从小程序基础库版本 2.2.1 或以上、及开发者工具 1.02.1808300 或以上开始&#xff0c;小程序支持使用 npm 安装第三方包。 npm install --save miniprogram-slide-view2、在需要使用 slide-view 的页面 page.json 中…

hibernate 环境搭建测试

对于hibernate的介绍&#xff0c;网络上一搜一堆&#xff0c;恐怕我写的也没前辈总结的好。这个博主总结的十分好,方便大家欣赏 http://blog.csdn.net/liujiahan629629/article/details/21442607 真正要掌握&#xff0c;还得需要自己动手&#xff0c;才能丰衣足食。所需jar包j…

jQuary的相关动画效果

第一种&#xff1a;该方法隐藏所有 <p> 元素&#xff1a; <html> <head> <script type"text/javascript" src"jquery.js"></script> <script type"text/javascript"> $(document).ready(function(){ $(&quo…

C# WPF 中使用 MahApps.Metro.IconPacks 提供的图标

概述我们在桌面应用程序开发时经常会用到很多图标&#xff0c;时常我是在阿里矢量图库下载&#xff1a;https://www.iconfont.cn/&#xff0c;然后存放多项目中去引用&#xff0c;不过这样操作起来有点繁琐&#xff0c;这节我们介绍一个更加便捷的方式.用法概述Wpf 图标管理工具…

rails generator

generate 查找顺序 rails/generators/initializer/initializer_generator.rb generators/initializer/initializer_generator.rbrails/generators/initializer_generator.rbgenerators/initializer_generator.rblib/templates/rails/helper/helper.rbcustomize your scaffold t…

java多线程同时运行_Java实现的两个线程同时运行案例

本文实例讲述了Java实现的两个线程同时运行。分享给大家供大家参考&#xff0c;具体如下&#xff1a;/*** 两个案例同时运行案例* 1:这个两个线程并不是有规律的运行而是有没有规律的交替运行*/package com.test3;public class Demo10_3 {/*** param args*/public static void …

通过几个例子看sed的模式空间与保持空间

SED之所以能以行为单位的编辑或修改文本&#xff0c;其原因在于它使用了两个空间&#xff1a;一个是活动的“模式空间&#xff08;pattern space&#xff09;”&#xff0c;另一个是起辅助作用的“暂存缓冲区&#xff08;holdingspace&#xff09;这2个空间的使用。 sed编辑器逐…

dotnet 用 SourceGenerator 源代码生成技术实现中文编程语言

相信有很多伙伴都很喜欢自己造编程语言&#xff0c;在有现代的很多工具链的帮助下&#xff0c;实现一门编程语言&#xff0c;似乎已不是一件十分困难的事情。我利用 SourceGenerator 源代码生成技术实现了一个简易的中文编程语言&#xff0c;核心原理是将中文编程语言翻译为 C#…

断电后supervisor启动时报错

当设备意外断电后&#xff0c;supervisor在系统启动时报错&#xff0c;导致程序假死&#xff0c;此问题可以用systemd来替换supervisor。转载于:https://www.cnblogs.com/gaoyiping/p/6950470.html

Vue单页面在ios10系统上出现白屏的bug

一个bug 你用Vue做了一个单页面应用&#xff0c;它在一切设备上都工作正常&#xff0c;但是突然有一天&#xff0c;你的测试和你说&#xff0c;这个网站在iOS 10上跑不起来&#xff0c;怎么办&#xff1f;于是你打开你电脑上的Chrome浏览器&#xff0c;工作正常&#xff1b;打开…

HTTP/2 规格制定完成

IETF HTTP工作者的负责人Mark Nottingham在其博客上宣布HTTP/2规格制定完成&#xff0c;接下来将是分配RFC编号和正式发表。HTTP是Web的核心技术之一&#xff0c;相比HTTP/1&#xff0c;HTTP/2的改进之处包括更快的页面加载&#xff1b;更长久的连接&#xff1b;服务器推送&…