大家好我是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/ 。我們簡單的預覽一下出現了哪些變化,增加了各個組件的介紹和代碼示例,還有快速啟動和相關技術的學習等等內容。
(4)使用技術更新
本次更新主要新增了.NET MAUI的兼容,還有Minimal API的使用。源碼的目錄也發生了變化新增了測試用例還有示例代碼,相比之前更加簡潔防止第一次接觸的小伙伴頭暈。
2.發布內容
組件名稱 | 版本號(old) | 版本號(new) | 狀態 |
---|---|---|---|
GeneralUpdate.AspNetCore | 1.1.0 | 1.4.1 | 正常 |
GeneralUpdate.ClientCore | 2.3.6 | 2.8.9 | 正常 |
GeneralUpdate.Core | 4.10.12 | 4.11.18 | 正常 |
GeneralUpdate.Differential | 1.0.0 | 1.3.0 | 正常 |
GeneralUpdate.Zip | 1.0.0 | 1.3.0 | 正常 |
GeneralUpdate.Tool | 1.0.0 | 2.1.5 | 正常 |
GeneralUpdate.Single | 1.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最新動態將優先在本公眾號發布,關于本次發布分享到這里,感謝各位的閱讀。