XFE Git
XFE Studio Git
Git 首页 全局搜索
XFE 主站 文档 NuGet

XFEToolBox

【WPF】XFE工具箱

公开
关注 0 Fork 0 Star 0
UTF-8

XFEToolBox

XFEToolBox Logo

XFEToolBox 是一个基于 .NET 10 与 WPF 的 Windows 桌面工具箱。项目由桌面客户端、工具与软件下载服务端、共享契约、测试程序和安装器组成,当前程序集版本为 0.2.0

项目仍在持续开发中,界面、服务接口和工具包规范可能继续调整。请勿在生产环境中使用默认管理员密码或未经审核的源码工具包。

主要功能

  • WPF 桌面客户端:提供主页、控制台、工具库、软件下载、设置和个人中心。
  • XFEToolBox Code Studio:使用 Monaco Editor 与 WebView2 创建和编辑 WPF 源码工具,可预览、独立编译运行、导出或发布 .xfetool 工具包。
  • 工具分发:服务端校验、保存和发布源码工具包;客户端在下载后校验 SHA-256,并在独立窗口中编译运行。
  • 软件下载目录:支持搜索、分类、多下载渠道、浏览器跳转、客户端下载和服务端文件托管。
  • 账号与管理:支持注册、登录、个人资料以及管理员侧的用户、工具包和软件目录管理。

环境要求

  • Windows 10 1809(Build 17763)或更高版本,用于运行 WPF 客户端。
  • .NET 10 SDK
  • Microsoft Edge WebView2 Runtime,用于 Code Studio 编辑器和 Markdown 预览。
  • 可选:支持 .NET 10 与 WPF 的 Visual Studio。

服务端和不依赖 WPF 的核心项目以 net10.0 为目标框架;完整解决方案建议在 Windows 上构建。

快速开始

克隆仓库并还原、构建解决方案:

git clone https://github.com/XFEstudio/XFEToolBox.git
Set-Location .\XFEToolBox
dotnet restore .\XFEToolBox.sln
dotnet build .\XFEToolBox.sln

启动桌面客户端:

dotnet run --project .\XFEToolBox\XFEToolBox.Client.csproj

启动服务端:

dotnet run --project .\XFEToolBox.Server\XFEToolBox.Server.csproj

服务端默认监听 http://localhost:3000/api。首次启动会生成 AutoConfig XML 配置及初始管理员 admin;默认密码为 ChangeMe_123!,登录后应立即修改。工具包和软件文件的默认数据目录位于服务端输出目录下的 Data,这些运行数据不应提交到仓库。

客户端当前通过 XFEToolBox/Utilities/Server/ClientSession.cs 中的 ApiAddress 连接已部署服务。联调本地服务时,请先将该地址切换为本地 API 地址。

测试

仓库中的验证项目是可直接运行的控制台程序。客户端与 WPF 项目仍使用兼容期内的 SMTest 基准标记,因此需要显式传入 --benchmarks

dotnet run --project .\XFEToolBox.Test\XFEToolBox.Client.Test.csproj --configuration Release -- --benchmarks --quick
dotnet run --project .\XFEToolBox.Server.Test\XFEToolBox.Server.Test.csproj
dotnet run --project .\XFEToolBox.Client.Wpf.Test\XFEToolBox.Client.Wpf.Test.csproj --configuration Release -- --benchmarks --quick

最后一项会初始化 WPF 和图形环境,应在 Windows 桌面会话中运行。SMTest 已被测试框架标记为弃用,后续应迁移到 Benchmark

项目结构

路径 说明
XFEToolBox/ WPF 桌面客户端与 Code Studio
XFEToolBox.WpfCore/ 客户端、安装器与源码工具共享的 WPF 控件、主题、行为和窗口适配
XFEToolBox.Client.Core/ 客户端可复用的非 WPF 基础能力
XFEToolBox.Core/ 客户端与服务端共享的模型、契约和目录客户端
XFEToolBox.Server/ 服务端入口、用户体系、目录与管理接口
XFEToolBox.Server.Core/ 工具包校验、语义化版本与文件仓库实现
XFEToolBox.Client.Installer/ WPF 安装器项目
XFEToolBox.Test/ 客户端核心测试
XFEToolBox.Server.Test/ 服务端核心测试
XFEToolBox.Client.Wpf.Test/ WPF 渲染与性能测试
docs/ 功能与扩展规范

文档

贡献与许可

欢迎提交问题和改进。开始编码前请阅读 CONTRIBUTING.md,并确保构建及相关测试通过。

本项目采用 Apache License 2.0 许可。