v1.11.0
新功能
- 日志挪到软件目录下:运行日志现在写在软件自己那个目录的
logs\里(不再是%LOCALAPPDATA%)—— "日志在哪"与"软件在哪"是同一件事,找日志的人多半正站在那台机器前面。装在只读位置时逐级退:CLASSSHOUT_LOG_DIR→ 程序目录logs\→ 用户数据目录logs\,退到哪一级会显示在设置页的「关于」里。 ·pending· 无 - 压缩包里的布局收拾干净:顶层只留一个启动脚本、一份说明、
logs\和app\,257 个程序文件全部待在app\里 —— 打开文件夹一眼就知道该双击哪个。Linux 版对应run.sh(它会把CLASSSHOUT_LOG_DIR指到同级logs/)。 ·pending· 无
说明
- 为什么 DLL 不能单独再分一个文件夹:.NET 的运行时宿主文件(
hostpolicy.dll/
hostfxr.dll/coreclr.dll/System.Private.CoreLib.dll…)必须与 exe 同级,
而它们占了文件数的一大半。试过把其余程序集挪进lib\并改写deps.json的路径,
应用直接崩在hostpolicy.dll not found(自检脚本实测)。
所以能收拾的是界面:程序本体进app\,顶层保持干净。 - 启动脚本会闪一下黑窗口,那是
cmd本身,不是程序。
升级提示:这一版改的是目录布局与日志位置,与喊话协议无关。
升级仍然是"解压覆盖同一个目录"。日志从这一版起写在软件目录下,
旧版留在%LOCALAPPDATA%\ClassShout\logs\里的那几天可以删掉。
服务器(如果部署了)解压时加--strip-components=1到/opt/classshout,
并在 systemd 单元里把ExecStart指向app/ClassShout.RelayServer、
加上CLASSSHOUT_LOG_DIR=/opt/classshout/logs。