当前位置: 首页 > news >正文

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

主要命令及功能

命令对应类用途
newNewCommand从模板创建新项目/解决方案
add-moduleAddModuleCommand向现有解决方案添加模块
updateUpdateCommand更新解决方案中的 NuGet/NPM 包
install-libsInstallLibsCommand安装客户端库
bundleBundleCommand捆绑客户端资产(Blazor/Angular)
get-sourceGetSourceCommand下载模块源代码
suiteSuiteCommand启动或管理 ABP Suite
clear-download-cacheClearDownloadCacheCommand清除模板缓存
login/logoutLoginCommand/LogoutCommand商业功能的身份验证

项目创建:abp new 命令

用法

abp new <project-name> [options]

常见选项

选项描述示例
-t, --template模板名称(默认:app)abp new Acme.BookStore -t module
-u, --uiUI 框架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, --versionABP 版本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
--themeUI 主题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

项目创建流程

NewCommand.ExecuteAsync
ProjectCreationCommandBase.GetProjectBuildArgsAsync
TemplateProjectBuilder.BuildAsync
AbpIoSourceCodeStore.GetAsync
TemplateProjectBuildPipelineBuilder.Build
ProjectBuildPipelineStep

模板系统

支持的模板类型

  • App:分层应用(开源或商业)
  • App No Layers:简化结构
  • Module:可重用的 ABP 模块
  • Microservice:分布式解决方案
  • Microservice Service:单个微服务

数据库管理系统(--dbms

  • sqlserver:Microsoft SQL Server(默认)
  • mysql:MySQL
  • postgresql:PostgreSQL
  • sqlite:SQLite
  • oracle:Oracle
  • oracle-devart:Oracle(Devart)

UI 框架(-u|--ui

  • mvc:ASP.NET Core MVC(默认)
  • angular:Angular SPA
  • blazor:Blazor WebAssembly
  • blazor-server:Blazor Server
  • blazor-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

模板文件来源与缓存

存在
不存在
ABP CLI
检查本地缓存
使用缓存的模板ZIP
从远程仓库获取
存储到本地缓存
使用模板ZIP
clear-download-cache命令
删除缓存的模板ZIP

项目验证与命名规则

通过ProjectNameValidator实施以下规则:

  • 不允许默认模板名称(如"MyCompanyName.MyProjectName")
  • 不允许 Windows 保留名称(如"CON"、"AUX"等)
  • 不允许包含"Blazor"的名称(避免冲突)
  • 不允许父目录引用(“…”)
  • 不允许控制字符或代理字符
http://www.dtcms.com/a/331467.html

相关文章:

  • Steam修改游戏安装目录
  • 通过beeware制作安卓apk用于获取cpolar网址
  • 【从零开始学习Redis】项目实战-黑马点评D1
  • Docker network网络管理入门教程
  • OpenCV 在图像上绘制二维图形的类cv::plot::Plot2d
  • 心灵笔记:沟通与协作
  • 搭建纯积分商城的关键注意事项
  • MySQL中的DML(二)
  • Spring基础面试题(三)
  • rtthread - ROMFS 的使用方式
  • 【自动驾驶】自动驾驶概述 ① ( 自动驾驶 与 无人驾驶 | 自动驾驶 相关岗位 及 技能需求 )
  • 网络安全应急响应
  • Java Stream API:让业务数据处理更优雅
  • 【120页PPT】人工智能与数字化转型的业财融合(附下载方式)
  • TDengine IDMP 基本功能(6. 无问智推)
  • Web攻防-业务逻辑篇APP隐私合规资源处理违规收集拒绝服务在线检测项目工具
  • 深度剖析!体育数据 API 及电竞数据 API 在体育电竞领域的核心地位
  • java动态代理机制I(初稿)
  • 职得AI简历-免费AI简历生成工具
  • C++ 排序指南
  • 7、C 语言数组进阶知识点总结
  • 解决SQL Server连接失败:Connection refused: connect
  • 力扣(LeetCode) ——225 用队列实现栈(C语言)
  • C++中的回调函数
  • C++中的内存管理(一)
  • BitDock——让你的Windows桌面变为Mac
  • 【ai写代码】lua-判断表是否被修改
  • Mysql基本使用语句(一)
  • [激光原理与应用-271]:理论 - 波动光学 - 电磁波谱,光是一种可视化的电磁波
  • 广义矩估计随机近似中1.2和2.1的差异