| 1234567891011121314151617181920212223242526272829303132 |
- namespace YZWater.Core.Services;
- /// <summary>
- /// 程序数据文件路径统一入口:一律锚定 exe 所在目录,而不是当前工作目录。
- ///
- /// 之前各处直接写 "yzwater.db"、"projects" 这类相对路径,含义随启动方式漂移:
- /// 从快捷方式、计划任务或以其它目录为工作目录启动时,程序会在那里另建一个空数据库
- /// 和空配置,现场表现为"历史数据突然全空、报警限值回到默认",且原数据看起来像被丢弃。
- /// </summary>
- public static class AppPaths
- {
- /// <summary>数据文件所在目录(exe 所在目录)</summary>
- public static string Root { get; } = AppContext.BaseDirectory;
- /// <summary>SQLite 数据库文件</summary>
- public static string Database { get; } = Path.Combine(Root, "yzwater.db");
- /// <summary>配置文件</summary>
- public static string Config { get; } = Path.Combine(Root, "yzwater-config.json");
- /// <summary>上一次成功读写过的配置副本,主配置损坏时的回退来源</summary>
- public static string ConfigLastGood { get; } = Path.Combine(Root, "yzwater-config.json.lastgood");
- /// <summary>项目档案目录</summary>
- public static string Projects { get; } = Path.Combine(Root, "projects");
- /// <summary>数据库备份目录</summary>
- public static string Backups { get; } = Path.Combine(Root, "Backups");
- /// <summary>日志目录</summary>
- public static string Logs { get; } = Path.Combine(Root, "Logs");
- }
|