一.创建项目
- 由于安装了Abp Cli,可以直接使用命令创建初始化项目。
- 在本地盘浮创建一个空文件夹,按住Shift 键+鼠标右键,打开 PowerShell 终端
- 在终端中执行以下命令来创建项目,TodoApp 就是我们的一个解决方案的(项目名称),然后等待项目创建完成。
abp new TodoApp
- 在项目创建下载过程中,可能会出现报错的情况,会导致创建项目失败,如图。遇上这种情况,可以多试几次。 或者可以通过科学上网来解决这个问题:
- 项目创建成功,如下所示
- 项目下载成功后,该文件夹目录下会生成 TodoApp.sln 解决方案
- 另外一种更简便的创建解决方案的方式,打开官网 https://abp.io/ ,点击开始
- 根据引导进行创建下载项目
二. 生成项目数据库
- 使用VS2022 打开刚创建好的解决方案
- 打开 src 项目源代码文件夹,src 文件夹包含实际应用程序,该应用程序基于前面提到的DDD 原则进行分层,源码结构如下。
- .Application 项目,包含了.Application.Contracts 项目的 应用服务 接口实现。
- .Application.Contracts 项目,主要包含 应用服务 interfaces(接口) 和应用层的 Dto(数据传输对像).它用于分离应用层的接口和实现。这种方式可以将接口项目做为约定包共享给客户端。
- .DbMigrator 项目,创建数据库(不存在该数据库时),进行数据库迁移,初始化种子数据。
- .Domain 项目,解决方案的领域层,主要包含 实体,集合根,领域服务,值类型,仓储接口 和解决方案的其他领域对象。
- .Domain.Shared 项目,包含常量,枚举和其他对象。这些对象实际上是领域层的一部分。
- .EntityFrameworkCore 项目,这是集成了EF Core 的项目,它定义了DbContext 并实现 .Domain 项目中定义的仓储接口。(当前使用cli创建项目,默认使用ef core 做为数据库提供程序。注意,如果是选择其他数据库,则该项目的名称会改变)。
- .EntityFrameworkCore.DbMigrations 项目,它包含解决方案的EF Core 数据库迁移。具有独立的 DbContext 来专门管理迁移。
- .HttpApi 项目,用于定义API控制器。大多数情况下,我们不需要手动定义API控制器,Abp 的动态API 功能会根据项目的应用层自动创建API 控制器。
- .HttpApi.Client 项目,定义C#客户端代理使用解决方案的HTTP API 项目。意思就是,我们可以把它共享给第三方客户端来调用 我们定义的API 接口。
- .Web 项目,是应用程序的UI(用户界面),如果使用asp.net core mvc ui,它包括Razor页面,javascript 文件,样式文件,图片, appsetings.json 配置文件等。appsetings.json文件主要用来配置数据库连接字符串和应用程序的其他配置。
具体更详细的介绍,请参考引用文献:https://docs.abp.io/zh-Hans/abp/latest/Startup-Templates/Application
三. 项目生成完成后,接着需要创建项目运行的数据库
- 首先打开.DbMigrator 项目,找到appsetings.json 文件,打开更改数据库连接字符串,各个数据库连接字符串不一样,当前使用的是sql server,所以连接字符串,只需要把连接服务改成本地电脑的服务实例即可。
sql server 连接字符串大全:https://blog.csdn.net/cncco/article/details/64124460
- 选择 DbMigrator 项目,暂时先把这个项目设置成启动项目。目的是为了先单独启动它,生成数据库文件先。
右键--->设为启动项目
- 把.DbMigrator设置成启动项目后,按Ctrl+F5 运行该项目但不进行调试。等待项目编译完成,和控制台命令执行迁移完成。
- 这样了就成功创建了数据库并生成了初始化的数据。
四. 运行应用程序
- 接着,重新把.Web 项目,右键设置成启动项目,按Ctrl+F5 执行并不调试,启动应用程序。如果直接按F5,启动将非常慢。建议在不需要断点调试的情况下,按Ctrl+F5 的方式运行项目。
- 如图,Abp 项目就成功运行起来了。
引用参考文献:https://docs.abp.io/zh-Hans/abp/6.0/Tutorials/Todo/Index?UI=MVC&DB=EF