d53828c150
### 新增功能 - **Linux 官方支持**:新增 Hua.Todo.Avalonia 项目,正式适配 Linux 平台,同时支持 Windows 和 macOS - **Avalonia 桌面交互**:增加托盘菜单(显示/退出)、关闭隐藏到托盘、Windows 全局热键唤起主窗口、热键配置本地持久化 - **SQLite DateTime 兼容修复**:新增 LenientUtcDateTimeStringConverter,解决历史遗留的 DateTime 脏数据解析问题 - **用户文档完善**:新增 docs/manual/新手指南.md 和 docs/manual/用户指南.md - **部署文档**:新增 docs/manual/部署文档.md,详细说明多平台发布流程 ### 优化与修复 - **发布脚本整理**:拆分/对齐各平台发布入口,新增 publish.ps1 作为统一入口 - **Windows WebView2 优化**:数据目录调整到 %LocalAppData%\Hua.Todo\WebView2,修复 Runtime 误判问题 - **MAUI 多平台构建**:在 Windows 开发机上默认仅构建 Android + Windows 目标 - **SPA 路由回落**:修复 Release 模式下 /swagger 路径的 404 问题 - **Swagger 输出**:补齐 Dynamic API 端点,避免接口缺失 ### 文档更新 - **版本记录**:更新 v1.2.0 开发进度和功能列表 - **技术设计文档**:添加 Avalonia 项目架构和模块设计 - **项目结构**:更新 README.md 中的项目结构说明 ### 其他变更 - 新增 Directory.Build.props 和更新 Directory.Build.targets - 调整 src/Hua.Todo.Avalonia 项目配置和资源文件 - 更新 src/Hua.Todo.Web 前端资源文件 - 修复 src/Hua.Todo.Maui 相关配置和打包脚本
1.8 KiB
1.8 KiB
解决方案:统一版本与打包分发
现状分析
- 版本不一致:
Hua.Todo.Maui的版本号为1.2.3,而Hua.Todo.Avalonia和Hua.Todo.Host默认使用1.0.0。 - 打包脚本缺失:目前仅
Hua.Todo.Maui拥有setup.iss(Inno Setup) 打包脚本,版本号硬编码为1.2.2。 - 配置冗余:版本信息分散在各个
.csproj和.iss文件中,维护困难。
目标
- 统一所有项目的版本号为
1.2.3。 - 采用
Directory.Build.props集中管理全局属性。 - 为
Hua.Todo.Avalonia提供与Hua.Todo.Maui一致的 Windows 安装程序打包能力。
实施方案
1. 统一 .NET 项目版本号
- 在项目根目录创建
Directory.Build.props文件。 - 定义全局版本号
<Version>1.2.3</Version>。 - 定义全局公司、版权、产品名称等元数据。
- 移除各
.csproj中冲突的版本定义。
2. 统一 Inno Setup 打包脚本
- 更新
src/Hua.Todo.Maui/setup.iss:- 将版本号更新为
1.2.3。 - 确保安装路径与应用名称一致。
- 将版本号更新为
- 为
src/Hua.Todo.Avalonia创建setup.iss:- 参考 Maui 的脚本,调整
Source路径为 Avalonia 的发布路径:bin\Release\net10.0\win-x64\publish\*。 - 调整可执行文件名称为
Hua.Todo.Avalonia.exe。 - 调整 AppId 以避免与 Maui 版本冲突。
- 参考 Maui 的脚本,调整
3. 发布流程标准化
- 以后发布时,只需修改根目录下的
Directory.Build.props即可同步所有项目的版本。 - 执行
dotnet publish -c Release -r win-x64后,手动或通过脚本运行ISCC setup.iss生成安装包。
预期效果
- 所有程序集(DLL/EXE)的版本号均显示为
1.2.3。 - 提供
Hua.Todo_Avalonia_Setup_v1.2.3.exe和Hua.Todo_Maui_Setup_v1.2.3.exe两个安装包。