# Visual Studio 启动与调试 打开根目录 `XFEWarframe.slnx` 或各端的独立解决方案,选择 **Debug | x64**,再将对应应用设为启动项目: | 端 | 独立解决方案 | 启动项目 | 工具栏调试配置 | | --- | --- | --- | --- | | 玩家客户端 | `Client/Client.slnx` | `XFEWarframe.Player` | `XFEWarframe.Player (Unpackaged)` | | 管理员端 | `Admin/Admin.slnx` | `XFEWarframe.Admin` | `XFEWarframe.Admin (Unpackaged)` | | 服务器 | `Server/Server.slnx` | `XFEWarframe.Server` | `XFEWarframe.Server` | | 命令行安装器 | `Client/Client.slnx` | `XFEWarframe.Installer` | `XFEWarframe.Installer (Help)` | 在“解决方案资源管理器”中右击表中的启动项目,选择“设为启动项目”,然后按 F5。安装器的默认配置只显示帮助,具体安装参数通过 CLI 或玩家端提供。 `XFEWarframe.Client`、`XFEWarframe.Core` 是类库,`XFEWarframe.Bridge` 输出供游戏加载的 DLL;这些工程没有桌面或控制台启动入口。 ## 修复“无法启动启动项目” 两个 WinUI 工程已补齐模板所需的 `Properties/launchSettings.json`,其中 `commandName` 为 `Project`,与工程的 `WindowsPackageType=None` 对应。解决方案将 WinUI 与安装器明确映射为 x64,并关闭非打包 WinUI 工程的部署步骤。 如果修改配置时 Visual Studio 已打开: 1. 关闭报错弹窗,接受项目文件变更后的重新加载提示;也可关闭并重新打开解决方案。 2. 选择 `Debug | x64`,将需要运行的应用设为启动项目。 3. WinUI 应用选择名称带 `(Unpackaged)` 的调试配置,再按 F5。 不需要删除 `.vs` 或个人调试设置。解决方案同时附带 `.slnLaunch` 共享启动配置;启用 Visual Studio 多项目启动配置功能后,可选择“玩家客户端”“管理员端”“服务器”或根解决方案中的“服务器与管理员”。未启用该功能时,直接设置单个启动项目即可。 ## 调试路径 启动配置以各自 `.csproj` 所在目录为工作目录: - 服务器与管理员都使用仓库内 `Server/runtime`,管理员可读取同一个本地服务配置。 - 玩家端从 `artifacts/bridge` 读取开发用兼容组件;需要执行安装时,先在仓库根目录运行 `./scripts/Build-Bridge.ps1`。 - WinUI 个人配置仍保存在各自的 `%LOCALAPPDATA%/XFEWarframe` 子目录中。 F5 启动玩家应用不会自动安装或启动游戏。 ## 验证启动配置 在仓库根目录运行: ```powershell ./scripts/Smoke-Desktop.ps1 -Configuration Debug -UseLaunchProfiles ``` 脚本先构建 `Debug | x64`,再读取工程实际的运行路径、工作目录和 `launchSettings.json`,以这些配置启动服务器和两个 WinUI 程序。使用临时端口、临时存档和隔离个人配置,检查两端共 27 项页面、导航、布局、服务、主题及玩家账号行为;不执行游戏安装或启动。 报告位于 `artifacts/desktop-smoke-*/`,`launch-profiles.json` 记录本次使用的启动配置。此验证覆盖生成的程序及其启动配置,不模拟 Visual Studio 内部的 F5 操作。 若正在运行的调试窗口锁定输出文件,可使用 `scripts/Smoke-Desktop.ps1 -Configuration Debug` 构建到独立目录进行验证。发布脚本也使用独立输出目录。