16 ABP Framework CLI
ABP Framework CLI
概述
ABP CLI(Command Line Interface)是 ABP Framework 开发的主要自动化和脚手架工具,通过.NET 全局工具分发,核心功能实现于Volo.Abp.Cli.Core
项目,提供项目创建、模块管理、包更新等开发任务的命令支持。
安装与更新
- 安装:
dotnet tool install -g Volo.Abp.Cli
- 更新:
dotnet tool update -g Volo.Abp.Cli
主要命令及功能
命令 | 对应类 | 用途 |
---|---|---|
new | NewCommand | 从模板创建新项目/解决方案 |
add-module | AddModuleCommand | 向现有解决方案添加模块 |
update | UpdateCommand | 更新解决方案中的 NuGet/NPM 包 |
install-libs | InstallLibsCommand | 安装客户端库 |
bundle | BundleCommand | 捆绑客户端资产(Blazor/Angular) |
get-source | GetSourceCommand | 下载模块源代码 |
suite | SuiteCommand | 启动或管理 ABP Suite |
clear-download-cache | ClearDownloadCacheCommand | 清除模板缓存 |
login /logout | LoginCommand /LogoutCommand | 商业功能的身份验证 |
项目创建:abp new
命令
用法
abp new <project-name> [options]
常见选项
选项 | 描述 | 示例 |
---|---|---|
-t, --template | 模板名称(默认:app) | abp new Acme.BookStore -t module |
-u, --ui | UI 框架 | abp new Acme.BookStore -u angular |
-d, --database-provider | 数据库提供程序 | abp new Acme.BookStore -d mongodb |
-o, --output-folder | 输出文件夹 | abp new Acme.BookStore -o d:\my-project |
-v, --version | ABP 版本 | abp new Acme.BookStore -v 9.2.3 |
--preview | 使用预览版本 | abp new Acme.BookStore --preview |
--tiered | 创建分层解决方案 | abp new Acme.BookStore --tiered |
-m, --mobile | 移动应用选项 | abp new Acme.BookStore -m react-native |
--dbms | 数据库管理系统 | abp new Acme.BookStore --dbms mysql |
--theme | UI 主题 | abp new Acme.BookStore --theme basic |
示例
abp new Acme.BookStore --tiered -u angular -d mongodb
abp new Acme.BookStore -t module
abp new Acme.MicroserviceSolution -t microservice
项目创建流程
模板系统
支持的模板类型
- App:分层应用(开源或商业)
- App No Layers:简化结构
- Module:可重用的 ABP 模块
- Microservice:分布式解决方案
- Microservice Service:单个微服务
数据库管理系统(--dbms
)
sqlserver
:Microsoft SQL Server(默认)mysql
:MySQLpostgresql
:PostgreSQLsqlite
:SQLiteoracle
:Oracleoracle-devart
:Oracle(Devart)
UI 框架(-u|--ui
)
mvc
:ASP.NET Core MVC(默认)angular
:Angular SPAblazor
:Blazor WebAssemblyblazor-server
:Blazor Serverblazor-webapp
:Blazor Web App(.NET 8+)maui-blazor
:MAUI Blazor(移动/桌面)none
:无 UI(仅 API)
主题(--theme
)
basic
:基本主题leptonx
:LeptonX(商业版,商业默认)leptonxlite
:LeptonX Lite(开源默认)lepton
:Lepton( legacy 商业版)
其他命令示例
get-source
命令
abp get-source <module-name> [options]
abp get-source Volo.Blogging -o c:\temp\blogging
clear-download-cache
命令
abp clear-download-cache
模板文件来源与缓存
项目验证与命名规则
通过ProjectNameValidator
实施以下规则:
- 不允许默认模板名称(如"MyCompanyName.MyProjectName")
- 不允许 Windows 保留名称(如"CON"、"AUX"等)
- 不允许包含"Blazor"的名称(避免冲突)
- 不允许父目录引用(“…”)
- 不允许控制字符或代理字符