ShaoHua 734b2c91f9 build: 升级目标框架到net10.0并完善模板配置
1. 将Hua.Cli.Tests、项目共享库、模块项目等所有项目的TargetFramework从net8.0/net9.0升级到net10.0
2. 完善dotnet-tools.json、模板配置文件,添加必要的构建和发布配置
3. 新增微服务、网关、应用程序的启动脚本和基础配置文件
4. 补充产品管理模块的领域、应用、Web层基础代码和多语言资源
2026-07-16 02:43:29 +08:00

Hua.Cli

面向 .NET 生态的全局命令行工具(Global .NET CLI Tool),为开发者提供项目脚手架生成和依赖版本管理等基础开发工作流支持。

安装

dotnet tool install -g Hua.Cli

命令列表

命令 描述
hua help 显示帮助信息
hua new 基于模板创建新项目/解决方案
hua update 更新项目 NuGet 包版本

使用示例

创建新项目

# 创建标准分层应用
hua new MyProject

# 创建微服务解决方案
hua new MyMicroservice -t ms

# 指定模板和选项
hua new MyProject -t app -db ef -u mvc

# 指定输出目录
hua new MyProject -o D:\Projects

更新依赖

# 更新到最新版本
hua update

# 更新到指定版本
hua update -v 9.0.0

# 试运行
hua update --dry-run

查看帮助

# 查看所有命令
hua help

# 查看指定命令的详细帮助
hua help new
hua help update

项目结构

Hua.Cli/
├── src/
│   ├── Hua.Cli/              # 启动入口
│   └── Hua.Cli.Core/         # 核心逻辑
│       └── Hua/Cli/
│           ├── Args/          # 命令行参数解析
│           ├── Commands/      # 命令实现 (help/new/update)
│           ├── Configuration/ # 配置管理
│           ├── Http/          # HTTP 客户端
│           ├── ProjectBuilding/  # 项目构建流水线引擎
│           ├── ProjectModification/ # 项目修改工具
│           ├── Utils/         # 工具类
│           └── Version/       # 版本管理
└── test/
    └── Hua.Cli.Tests/         # 单元测试

技术栈

  • 目标框架: .NET 9.0
  • 依赖注入: Autofac (Volo.Abp.Autofac)
  • 日志: Serilog
  • 模板引擎: 自研文件替换引擎
  • NuGet: NuGet.Versioning + NuGet.Protocol

架构设计

本项目借鉴 Volo.Abp.Cli 的分层插件化架构设计:

  • 命令模式: 所有操作封装为 IConsoleCommand 实现,通过 CommandSelector 动态路由
  • 流水线模式: 项目构建采用 ProjectBuildPipeline 串联多个 ProjectBuildPipelineStep
  • 策略模式: 不同模板通过继承 TemplateInfo 基类实现各自构建步骤

开发

# 还原依赖
dotnet restore

# 编译
dotnet build

# 运行测试
dotnet test

# 本地运行
dotnet run --project src/Hua.Cli -- help
S
Description
No description provided
Readme 540 KiB
Languages
C# 82.9%
Dockerfile 6.8%
HTML 6.7%
JavaScript 1.8%
PowerShell 1.5%
Other 0.2%