打包技能入仓库:winforms-designer-package(含成套报价软件 8 步发版专章:版本号递增/组装/ISCC/更新包/git/Gitea Release/验收/故障速查)放入项目 .agents\skills,随项目走
This commit is contained in:
@@ -74,6 +74,20 @@ description: SharpDevelop 5.x WinForms 设计器**全部工具箱**(5 分类 8
|
||||
- **中文路径显示八进制转义**(`\346\210\220...`):git 默认 quotepath,排查时加 `-c core.quotepath=false`,如 `git -c core.quotepath=false ls-tree -r --name-only HEAD`。
|
||||
- **LF→CRLF warning**:无害,忽略。
|
||||
- **push 后验证**:`git ls-remote origin` 的 HEAD 与本地 `git log -1` 哈希一致才算成功。
|
||||
9. **打包发版完整流程(2026-10-01 定稿,用户强制:打包必须按此技能走)**。发版 = 8 步固定链,顺序不可换,每步有验证点:
|
||||
```
|
||||
① 递增版本号 → ② 清进程+编译 → ③ make_package 组装 → ④ ISCC 安装包
|
||||
→ ⑤ make_update_package 更新包 → ⑥ git 提交推送 → ⑦ Gitea Release → ⑧ 验收
|
||||
```
|
||||
- **① 递增版本号**:`powershell -File tools\递增版本号.ps1`(默认修订号+1;大版本传参如 `1.1.0`)。输出应显示 AssemblyInfo 与 setup.iss 两处同步成功。
|
||||
- **② 清进程+编译**:`Get-Process | Where-Object { $_.Path -like '*成套报价软件*' -or $_.Path -like '*SharpDevelop Projects*' } | Stop-Process -Force`(先杀占用,否则组装/替换文件报"正在使用");然后**工作目录切到 `成套报价软件\` 子目录**(rsp 相对路径基于它,在仓库根跑必报 CS2001):`& "C:\Windows\Microsoft.NET\Framework\v4.0.30319\csc.exe" "@..\tools\verify_build.rsp" /warn:1`,ExitCode=0 且无 warning 才继续。
|
||||
- **③ 组装发布目录**:`python tools\make_package.py`(仓库根跑)。核对输出:"DLL 复制完成,缺失: 无"、cadbt 段只有 node+CAD-Viewer(独立 exe 已退役 2026-10-01)、无 "!!" 警告。
|
||||
- **④ 安装包**:`& "C:\Program Files (x86)\Inno Setup 6\ISCC.exe" "release\成套报价软件\setup.iss"`。lzma2 压缩约 2 分钟,产物 `release\成套报价软件\Output\成套报价软件_Setup_<版本>.exe`,"Successful compile" 才算成;文件名必须带版本号。
|
||||
- **⑤ 更新包**:先改 `tools\make_update_package.py` 两处——`PKG` 目录名带版本(如 `更新包_1.0.4`)+ `说明` 本期文案(只写用户可感知的变化,使用方法要写清覆盖哪个文件、验证什么);再 `python tools\make_update_package.py`。当前更新包只含 成套报价软件.exe+使用说明(独立 pdfbt.exe 已退役不随包)。
|
||||
- **⑥ git**:`git add -A` + `git commit -m "发版 v<版本>:..."` + `git push`。
|
||||
- **⑦ Gitea Release**:tag=`v<版本>` 与 AssemblyInfo 一致。API 创建(PowerShell:`Invoke-RestMethod -Headers @{Authorization="token <令牌>"}` POST `/api/v1/repos/0999we/ctbjrj/releases`,body 含 tag_name/name/body,**中文 body 必须转字节** `[Text.Encoding]::UTF8.GetBytes($body)` 否则乱码);附件上传用 `System.Net.Http.HttpClient`+`MultipartFormDataContent`(字段名 `attachment`),PS5.1 的 Invoke-RestMethod 无 -Form。Release 说明与更新包说明同源。
|
||||
- **⑧ 验收**:附件大小合理(Setup ~120MB、更新包 <1MB);提醒用户装机验证:关于软件页显示 v<版本>、扒图窗口可用。
|
||||
- **故障速查**:ISCC 报文件找不到→make_package 没跑或发布目录被清;附件 401→令牌失效(见第 8 条);组装报"正在使用"→②的进程没杀干净(node/AI 引擎)。
|
||||
|
||||
## 一、项目前提(缺一不可)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user