ABP CLI - New Solution Sample Commands
The abp new
command creates an ABP solution or other artifacts based on an ABP template. ABP CLI has several parameters to create a new ABP solution. In this document we will show you some sample commands to create a new solution. All the project names are Acme.BookStore
. Currently, the available mobile projects are React Native
and MAUI
mobile app (they are available for Team or higher licenses). Available database providers are Entity Framework Core
and MongoDB
. All the commands starts with abp new
.
Angular
The following commands are for creating Angular UI projects:
Entity Framework Core, no mobile app, creates the project in a new folder:
Entity Framework Core, default app template, separate Auth Server, creates the project in a new folder:
Entity Framework Core, custom connection string, creates the project in a new folder:
MongoDB, default app template, mobile project included, creates solution in
C:\MyProjects\Acme.BookStore
MongoDB, default app template, no mobile app, separate Auth Server, creates the project in a new folder:
No DB migration!, the DB migration will not be generated
MVC
The following commands are for creating MVC UI projects:
Entity Framework Core, no mobile app, creates the project in a new folder:
Entity Framework Core, tier architecture (Web and HTTP API are separated), no mobile app, creates the project in a new folder:
MongoDB, no mobile app, creates the project in a new folder:
MongoDB, tier architecture, creates the project in a new folder:
Public Website, Entity Framework Core, no mobile app, creates the project in a new folder:
Note that Public Website is only included in PRO templates.
No initial configuration!, the DB migration will not be generated, client-side scripts will not be installed and bundling will not run
Blazor WebAssembly
The following commands are for creating Blazor WASM projects:
Entity Framework Core, no mobile app:
Entity Framework Core, separate Auth Server, mobile app included:
MongoDB, no mobile app, creates the project in a new folder:
Client-side libraries are not loaded automatically!, the libs folder will not be installed from (NPM)
Blazor Server
The following commands are for creating Blazor projects:
Entity Framework Core, no mobile app:
Entity Framework Core, separate Auth Server, separate API Host, mobile app included:
MongoDB, no mobile app, creates the project in a new folder:
Skip bundling for the packages,
No UI
In the default app template, there is always a frontend project. In this option there is no frontend project. It has a HttpApi.Host
project to serve your HTTP WebAPIs. It's appropriate if you want to create a WebAPI service.
Entity Framework Core, separate Auth Server, creates the project in a new folder:
MongoDB, no mobile app:
Console application
It's a template of a basic .NET console application with ABP module architecture integrated. To create a console application use the following command:
This project consists of the following files:
Acme.BookStore.csproj
,appsettings.json
,BookStoreHostedService.cs
,BookStoreModule.cs
,HelloWorldService.cs
andProgram.cs
.
Module
Module are reusable sub applications used by your main project. Using ABP Module is a best practice if you are building a microservice solution. As modules are not final applications, each module could contains different frontend UI projects and database providers.
Available frontends:
MVC
,Angular
,Blazor
. Available database providers:Entity Framework Core
,MongoDB
.The same with the upper but includes MVC and angular projects.
Choose database management system
The default database management system (DBMS) is Entity Framework Core
/ SQL Server
. You can choose a DBMS by passing --database-management-system
parameter. Accepted values are SqlServer
, MySQL
, SQLite
, Oracle
, Oracle-Devart
, PostgreSQL
. The default value is SqlServer
.
Angular UI, PostgreSQL database, creates the project in a new folder:
Use local ABP references
ABP libraries are referenced from NuGet by default in the ABP solutions. Sometimes you need to reference ABP libraries locally to your solution. This is useful to debug the framework itself. Your local ABP 's root directory must have the Volo.Abp.sln
file. You can copy the content of the following directory to your file system https://github.com/abpframework/abp/tree/dev/framework
- MVC UI, Entity Framework Core, ABP libraries are local project references:
The local path must be the root directory of ABP repository.
If C:\source\abp\framework\Volo.Abp.sln
is your framework solution path, then you must write C:\source\abp
to the --abp-path
paramter.
Output:
As seen below, ABP libraries are local project references.
Using Existing Configuration
If you want to programmaticaly create solutions, you can use an existing configuration instead of passing parameters to CLI one by one. ABP Studio keeps the solution creation history locally in (UserProfile)\.abp\studio\solution-creation-history.json
file, there you can find the configurations of the solutions created in your machine.
Using a Solution Id
In *.abpsln
file of the solutions, there is an ID field that you can use to recreate a solution. To do this, pass the id to cli using -shi or --solution-history-id
parameters.
Using a JSON Configuration File
You can also use a configuration file to create solutions. You need to use -rcp or ready-config-path
parameters to do that.
To prepare a config file, you can check the records in solution-creation-history.json
file mentioned above. An example config file would look like that: