当前位置:首页 > 编程笔记

.NET8 WinForm AutoUpdater.NET 自动更新笔记

大猫2个月前 (03-29)编程笔记31
摘要:.NET8 WinForm AutoUpdater.NET 自动更新笔记 一、核心说明 使用 NuGet 包:Autoupdater.NET.Official 对比规则:XML 中的 <version> 只与项目 程序集版本 对比,文件版本无需管 原理:自动下载 → 独立进程替换 →…

.NET8 WinForm AutoUpdater.NET 自动更新笔记

一、核心说明

  • 使用 NuGet 包:Autoupdater.NET.Official
  • 对比规则:XML 中的 <version> 只与项目 程序集版本 对比,文件版本无需管
  • 原理:自动下载 → 独立进程替换 → 自动重启,不会文件占用

二、项目配置(去除多余语言文件夹)

编辑 .csproj 文件,在 <PropertyGroup> 中添加:

<!-- 仅保留英文,无多余语言文件夹 -->
<SatelliteResourceLanguages>en</SatelliteResourceLanguages>

<!-- 如需仅中文:zh-Hans -->
<!-- <SatelliteResourceLanguages>zh-Hans</SatelliteResourceLanguages> -->

<!-- 完全不要语言文件夹:none -->
<!-- <SatelliteResourceLanguages>none</SatelliteResourceLanguages> -->

三、代码调用

using AutoUpdaterDotNET;

private void Form1_Load(object sender, EventArgs e)
{
    // 启动更新检查
    AutoUpdater.Start("http://你的地址/update.xml");
}

四、update.xml 标准格式

<?xml version="1.0" encoding="utf-8"?>
<item>
  <version>2.0.0.0</version>       <!-- 新版本号,必须大于本地程序集版本 -->
  <url>http://你的地址/Update.zip</url>
  <changelog>1.修复BUG
2.优化界面
3.新增功能</changelog>
  <mandatory>false</mandatory>     <!-- 是否强制更新 -->
</item>

五、更新包 ZIP 打包规则(最关键)

  1. 进入发布目录bin\Release\net8.0-windows
  2. 直接全选里面所有文件(exe、dll、config 等)
  3. 右键压缩为 ZIP,不要套文件夹
  4. 压缩包内结构必须是:
    Update.zip
     ├ xxx.exe
     ├ xxx.dll
     ├ xxx.deps.json
     └ ...
    ❌ 禁止:压缩外层文件夹,导致包内多一层目录

六、常见问题

  1. 主程序 exe 不替换
    → 99% 原因:ZIP 内多套了一层文件夹
  2. 出现大量语言文件夹
    → 用 SatelliteResourceLanguages 配置剔除
  3. 更新后版本不变
    → 检查 XML 版本号 > 程序集版本
  4. 文件占用无法替换
    → 该库自带独立更新程序,正常不会出现,出现则检查程序是否未正常退出

扫描二维码推送至手机访问。

版权声明:本文由DM98发布,如需转载请注明出处。

本文链接:https://blog.dm98.vip/post/10.html

分享给朋友:

“.NET8 WinForm AutoUpdater.NET 自动更新笔记” 的相关文章

HTMX 超详细完整教程2个月前 (03-27)
思源黑体下载2个月前 (03-27)
DMTTS使用方法2个月前 (03-30)

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。