Xbgit.Tools 1.2.0-Alpha2

This is a prerelease version of Xbgit.Tools.
There is a newer prerelease version of this package available.
See the version list below for details.
dotnet add package Xbgit.Tools --version 1.2.0-Alpha2
                    
NuGet\Install-Package Xbgit.Tools -Version 1.2.0-Alpha2
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Xbgit.Tools" Version="1.2.0-Alpha2" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Xbgit.Tools" Version="1.2.0-Alpha2" />
                    
Directory.Packages.props
<PackageReference Include="Xbgit.Tools" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Xbgit.Tools --version 1.2.0-Alpha2
                    
#r "nuget: Xbgit.Tools, 1.2.0-Alpha2"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Xbgit.Tools@1.2.0-Alpha2
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Xbgit.Tools&version=1.2.0-Alpha2&prerelease
                    
Install as a Cake Addin
#tool nuget:?package=Xbgit.Tools&version=1.2.0-Alpha2&prerelease
                    
Install as a Cake Tool

Xbgit.Tools - 综合工具包

概述

Xbgit.Tools 是一个综合性的工具包,提供了多种实用功能,包括网络通信、日志记录、数据处理、文件操作、设备控制、安全加密、系统管理等。适用于 .NET 9.0 开发环境,旨在简化开发流程并提高效率。

功能模块

1. Core - 核心工具

提供基础的通用工具类:

  • StringUtils.cs:字符串操作工具(比较、替换、正则、随机生成、全角检测等)。
  • DateTimeUtils.cs:日期时间处理工具(格式化、运算、比较、NTP 网络时间)。
  • EnumUtils.cs:枚举扩展工具。
  • RetryUtils.cs:重试/弹性机制,支持指数退避、自定义重试条件、CancellationToken。
  • CacheUtils.cs:线程安全内存缓存,支持 TTL 过期、LRU 淘汰、后台自动清理。
  • EncodingUtils.cs:编码转换工具(Base64、URL、Hex、Unicode、HTML、HexDump)。
  • ReflectionUtils.cs:反射工具(属性读写、方法调用、对象映射、特性扫描、枚举描述)。
  • CronUtils.cs:Cron 表达式解析与调度计算(下次/上次执行时间、匹配检测、中文描述)。
  • CommandLineUtils.cs:命令行参数解析器(长短选项、标志、引号感知、命令构建)。
  • I18nUtils.cs:国际化资源管理(多语言、JSON 加载、点路径键、回退语言、格式化参数)。
  • Configuration/GenericConfigManager.cs:基于 JSON 的线程安全单例配置管理器。

2. Data - 数据处理工具

提供数据相关的工具类:

  • JsonUtils.cs:JSON 格式化、验证、合并、序列化/反序列化。
  • SqliteHelper.cs:基于 Dapper 的 SQLite 全功能封装(连接池、CRUD、批量插入、跨库合并、分页、备份)。
  • XmlUtils.cs:XML 节点/属性增删改查(XPath)。
  • VersionUtils.cs:日期版本号体系(YYYY.MM.DD.N),支持解析、比较、自增。
  • CsvUtils.cs:CSV/TSV 读写,支持 RFC 4180(引号字段、嵌入换行、分隔符转换)。
  • IniUtils.cs:INI 配置文件读写(Section/Key/Value、注释保留)。
  • ValidationUtils.cs:数据校验(邮箱、手机号、身份证、银行卡、统一社会信用代码、ISBN、车牌号等)。
  • Mock/GenDataUtils.cs:测试数据生成器(中文姓名、身份证、银行卡、地址、公司名等)。

3. Device - 设备相关工具

提供设备相关的工具类:

  • Android/AndroidUtils.cs:Android ADB/scrcpy 封装(应用管理、文件传输、屏幕投射、触摸模拟)。
  • Android/AndroidSqliteTool.cs:通过 ADB 在 Android 设备上执行 SQLite 查询。
  • SerialPortUtils.cs:串口通信封装(打开/关闭、读写、后台监听、多格式支持)。
  • WakeOnLan.cs:网络唤醒(WOL),支持多种 MAC 格式、重复发送提高可靠性。

4. Files - 文件操作工具

提供文件操作相关的工具类:

  • FileUtils.cs:文件读写、复制、移动、重命名、MD5 校验、变更检测。
  • FolderUtils.cs:文件夹大小、批量 MD5、条件创建。
  • Compression/GzipUtils.cs:GZip 压缩解压,支持 AES 加密压缩。
  • Compression/ZipUtils.cs:ZIP 压缩解压,支持 AES 加密压缩。
  • FileWatcherUtils.cs:增强型文件监控(防抖、包含/排除模式过滤、事件聚合)。
  • ImageUtils.cs:图片处理(缩放、裁剪、旋转、翻转、文字/图片水印、压缩、格式转换、缩略图、Base64)。
  • PdfUtils.cs:PDF 操作(合并、拆分、文本提取、水印、删除页、旋转、图片转 PDF、信息读取)。
  • VersionControl/SvnUtils.cs:SVN CLI 封装(update/commit/status/远程检查)。
  • VersionControl/GitUtils.cs:Git CLI 封装(clone/pull/push/commit/branch/tag/stash/log)。

5. Net - 网络通信工具

提供网络通信相关的工具类:

  • MqttUtils.cs:MQTT 协议工具,支持多 Broker 管理、消息发布/订阅、自动重连控制等。
  • HttpUtils.cs:HTTP 请求工具(GET/POST,支持代理)。
  • FtpUtils.cs:FTP 文件传输工具(上传/下载/列目录/删除)。
  • WebSocketUtils.cs:WebSocket 客户端,支持自动重连、持续监听、事件驱动。
  • SocketUtils.cs:TCP/UDP Socket 封装(服务端/客户端、端口检测)。
  • EmailUtils.cs:SMTP 邮件发送(附件、抄送、密送、HTML 正文)。
  • SshUtils.cs:SSH/SFTP 远程操作(命令执行、文件上传下载、目录管理)。
  • RestApiUtils.cs:Fluent REST API 客户端构建器(链式配置、Bearer/Basic 认证、重试、文件上传下载)。
  • Communication/:基于 MQTT 的节点间通信框架(心跳、P2P/广播、版本约束匹配)。
MqttUtils 功能说明
方法 说明
AddBrokerAsync(...) 添加 MQTT 代理服务器,支持 TCP/WS/WSS 协议
ConnectAllAsync() 连接所有已添加的 Broker
PublishAsync(topic, payload, retain, qos) 发布消息到指定主题
SubscribeAsync(topic) 订阅指定主题
UnsubscribeAsync(topic) 取消订阅指定主题
DisconnectAllAsync() 断开所有 Broker 连接
SetReconnectEnabled(brokerAddress, port, enabled) 设置指定 Broker 的自动重连开关
SetAllReconnectEnabled(enabled) 设置所有 Broker 的自动重连开关
RemoveBrokerAsync(brokerAddress, port) 移除指定 Broker(断开连接、停止重连、释放资源)
CancelReconnect(client) 取消指定客户端的重连尝试
IsConnected(brokerAddress, port) 获取指定 Broker 的连接状态
GetAllConnectedStatus() 获取所有 Broker 的连接状态
ClearRetainedMessageAsync(topic) 清理指定主题的保留消息
MakeMqttMessage(messages) 将字典构建为 JSON 格式消息字符串

6. Security - 安全加密工具

提供安全加密相关的工具类:

  • SafeUtils.cs:RSA/AES/AES-GCM 加解密、MD5/SHA256 哈希、PBKDF2 密钥派生、TOTP 动态口令、字符串混淆。
  • MultiDataEncryptor.cs:多公钥分块加密/多私钥解密。

7. Log - 日志记录工具

提供日志记录相关的工具类:

  • RasUtils.cs:基于 MQTT 的远程日志发送工具(RSA 加密传输、离线队列、自动重试)。
  • MqttConfig.cs:MQTT 日志配置模型。

8. System - 系统工具

提供 Windows 系统相关的工具类:

  • WinUtils.cs:系统信息、开机自启、管理员权限检测、UAC 提权、系统代理管理。
  • ServiceUtils.cs:Windows 服务管理(查询/启动/停止/重启/安装/卸载)。
  • TaskSchedulerUtils.cs:Windows 计划任务管理(创建/删除/运行/启用/禁用)。
  • ClipboardUtils.cs:剪贴板操作(文本/图片,P/Invoke 实现,线程安全)。
  • ScreenCaptureUtils.cs:屏幕截图(全屏/区域/窗口,多显示器支持,PNG 输出)。
  • HardwareInfoUtils.cs:硬件信息查询(CPU/内存/磁盘/GPU/主板/网卡,WMI 实现)。
  • EventLogUtils.cs:Windows 事件日志读写(写入/读取/清除/源管理/日志信息)。

9. Exceptions - 自定义异常

提供统一异常体系:

  • XbgitException:基础异常类。
  • NetworkException:网络相关异常。
  • DeviceException:设备通信异常。
  • ConfigurationException:配置异常。
  • FileOperationException:文件操作异常。
  • SecurityException:加密/安全异常。
  • ValidationException:数据校验异常。
  • RetryExhaustedException:重试耗尽异常。
  • ExceptionHelper:异常辅助工具(完整消息提取、网络异常判断、异常包装)。

安装

使用 NuGet 包管理器

dotnet add package Xbgit.Tools --version 1.2.0-Alpha2

使用 PackageReference

在你的 .csproj 文件中添加以下行:

<PackageReference Include="Xbgit.Tools" Version="1.2.0-Alpha2" />

依赖项

包名 版本 用途
log4net 3.3.1 日志记录
MQTTnet 5.0.0.1405 MQTT 通信
Newtonsoft.Json 13.0.4 JSON 处理
Otp.NET 1.4.0 TOTP 动态口令
System.Data.SQLite.Core 1.0.118 SQLite 数据库
Dapper 2.1.28 轻量 ORM
SSH.NET 2024.2.0 SSH/SFTP 远程操作
System.IO.Ports 9.0.0 串口通信
System.Management 9.0.0 WMI 硬件信息查询
System.Drawing.Common 9.0.0 图片处理/屏幕截图
System.ServiceProcess.ServiceController 9.0.0 Windows 服务管理
PDFsharp 6.1.1 PDF 创建/合并/拆分/水印
UglyToad.PdfPig 0.1.9 PDF 文本提取

版本历史

1.2.0-Alpha2

  • feat: 第二批功能扩展
    • 新增 Core/ReflectionUtils: 反射工具(属性读写、方法调用、对象映射、特性扫描)
    • 新增 Core/CronUtils: Cron 表达式解析与调度计算
    • 新增 Core/CommandLineUtils: 命令行参数解析器
    • 新增 Core/I18nUtils: 国际化资源管理(多语言、JSON 加载、点路径键)
    • 新增 Files/ImageUtils: 图片处理(缩放/裁剪/旋转/水印/压缩/格式转换)
    • 新增 Files/PdfUtils: PDF 操作(合并/拆分/水印/文本提取/旋转/图片转 PDF)
    • 新增 Net/RestApiUtils: Fluent REST API 客户端构建器
    • 新增 System/EventLogUtils: Windows 事件日志读写

1.2.0-Alpha1

  • feat: 大规模功能扩展
    • 新增 Core/RetryUtils: 重试/弹性机制,支持指数退避
    • 新增 Core/CacheUtils: 线程安全内存缓存,支持 TTL 和 LRU 淘汰
    • 新增 Core/EncodingUtils: 编码转换(Base64/URL/Hex/Unicode/HTML)
    • 新增 Data/CsvUtils: CSV/TSV 读写,支持 RFC 4180
    • 新增 Data/IniUtils: INI 配置文件读写
    • 新增 Data/ValidationUtils: 数据校验(邮箱/手机号/身份证/银行卡/统一社会信用代码等)
    • 新增 Net/WebSocketUtils: WebSocket 客户端,支持自动重连
    • 新增 Net/SocketUtils: TCP/UDP Socket 封装
    • 新增 Net/EmailUtils: SMTP 邮件发送
    • 新增 Net/SshUtils: SSH/SFTP 远程操作
    • 新增 Device/SerialPortUtils: 串口通信封装
    • 新增 Device/WakeOnLan: 网络唤醒(WOL)
    • 新增 Files/FileWatcherUtils: 增强型文件监控(防抖/过滤)
    • 新增 Files/VersionControl/GitUtils: Git CLI 封装
    • 新增 System/ServiceUtils: Windows 服务管理
    • 新增 System/TaskSchedulerUtils: Windows 计划任务管理
    • 新增 System/ClipboardUtils: 剪贴板操作
    • 新增 System/ScreenCaptureUtils: 屏幕截图
    • 新增 System/HardwareInfoUtils: 硬件信息查询(WMI)
    • 重构 Exceptions/CustomException: 统一异常体系

1.1.5-Alpha8

  • feat(mqtt): MqttUtils 新增重连控制与 Broker 移除功能
    • 新增 SetReconnectEnabled 方法,支持按 Broker 启用/禁用自动重连
    • 新增 SetAllReconnectEnabled 方法,支持全局启用/禁用自动重连
    • 新增 RemoveBrokerAsync 方法,支持安全移除目标服务器(断开连接、停止重连、清理订阅、释放资源)
    • 断开连接回调中增加重连启用状态判断,禁用时自动跳过重连

1.0.0

  • 初始版本

许可证

本项目基于 自定义许可证。

贡献

欢迎贡献代码和报告问题!请参考 贡献指南。

联系方式

  • 作者: 张天宝
  • 公司: xbgit.cn
  • 邮箱: ztianb@foxmail.com
Product Compatible and additional computed target framework versions.
.NET net9.0 is compatible.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 was computed.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
1.4.0-Alpha3 42 9/28/2026
1.4.0-Alpha2 73 8/31/2026
1.4.0-Alpha1 67 8/26/2026
1.3.0-Alpha5 77 8/24/2026
1.3.0-Alpha4 68 8/17/2026
1.3.0-Alpha3 69 8/3/2026
1.3.0-Alpha2 68 8/3/2026
1.3.0-Alpha1 71 8/3/2026
1.2.0-Alpha5 57 7/29/2026
1.2.0-Alpha4 73 7/28/2026
1.2.0-Alpha3 65 7/27/2026
1.2.0-Alpha2 68 7/27/2026
1.1.5-Alpha7 80 6/17/2026
1.1.5-Alpha4 76 6/11/2026
1.1.5-Alpha3 66 6/11/2026
1.1.5-Alpha2 67 5/19/2026
1.1.4-Alpha5 69 4/21/2026
1.1.4-Alpha4 73 4/21/2026
Loading failed

feat: 第二批功能扩展

           - 新增 Core/ReflectionUtils: 反射工具(属性读写、方法调用、对象映射、特性扫描)
           - 新增 Core/CronUtils: Cron 表达式解析与调度计算
           - 新增 Core/CommandLineUtils: 命令行参数解析器
           - 新增 Core/I18nUtils: 国际化资源管理(多语言、JSON加载、点路径键)
           - 新增 Files/ImageUtils: 图片处理(缩放/裁剪/旋转/水印/压缩/格式转换)
           - 新增 Files/PdfUtils: PDF 操作(合并/拆分/水印/文本提取/旋转/图片转PDF)
           - 新增 Net/RestApiUtils: Fluent REST API 客户端构建器
           - 新增 System/EventLogUtils: Windows 事件日志读写