namespace Flyshot.ControllerClientCompat; /// /// 表示 HTTP-only ControllerClient 兼容层的基础配置。 /// public sealed class ControllerClientCompatOptions { /// /// 获取或设置对外暴露的服务端版本号。 /// public string ServerVersion { get; set; } = "flyshot-replacement-controller-client-compat/0.1.0"; /// /// 获取或设置运行配置根目录;为空时默认使用程序基目录下的 Config。 /// public string? ConfigRoot { get; set; } /// /// 获取或设置旧父工作区根目录;仅用于测试或旧样本显式兼容。 /// public string? WorkspaceRoot { get; set; } /// /// 解析运行配置根目录,确保运行时默认不再依赖源码仓库位置。 /// /// 运行配置根目录的绝对路径。 public string ResolveConfigRoot() { var root = string.IsNullOrWhiteSpace(ConfigRoot) ? Path.Combine(AppContext.BaseDirectory, "Config") : ConfigRoot; return Path.GetFullPath(root); } /// /// 解析显式配置的旧父工作区根目录;未配置时返回 null。 /// /// 旧父工作区根目录的绝对路径,或 null。 public string? ResolveLegacyWorkspaceRoot() { return string.IsNullOrWhiteSpace(WorkspaceRoot) ? null : Path.GetFullPath(WorkspaceRoot); } }