一.創(chuàng)建項目
- 由于安裝了Abp Cli,可以直接使用命令創(chuàng)建初始化項目。
- 在本地盤浮創(chuàng)建一個空文件夾,按住Shift 鍵+鼠標(biāo)右鍵,打開 PowerShell 終端

打開 PowerShell 終端
- 在終端中執(zhí)行以下命令來創(chuàng)建項目,TodoApp 就是我們的一個解決方案的(項目名稱),然后等待項目創(chuàng)建完成。
abp new TodoApp
- 在項目創(chuàng)建下載過程中,可能會出現(xiàn)報錯的情況,會導(dǎo)致創(chuàng)建項目失敗,如圖。遇上這種情況,可以多試幾次。 或者可以通過科學(xué)上網(wǎng)來解決這個問題:

創(chuàng)建項目報錯
- 項目創(chuàng)建成功,如下所示

項目創(chuàng)建成功
- 項目下載成功后,該文件夾目錄下會生成 TodoApp.sln 解決方案

TodoApp.sln
- 另外一種更簡便的創(chuàng)建解決方案的方式,打開官網(wǎng) https://abp.io/ ,點擊開始

ABP官網(wǎng)
- 根據(jù)引導(dǎo)進(jìn)行創(chuàng)建下載項目

下載項目
二. 生成項目數(shù)據(jù)庫
- 使用VS2022 打開剛創(chuàng)建好的解決方案

打開解決方案
- 打開 src 項目源代碼文件夾,src 文件夾包含實際應(yīng)用程序,該應(yīng)用程序基于前面提到的DDD 原則進(jìn)行分層,源碼結(jié)構(gòu)如下。

源碼結(jié)構(gòu)
- .Application 項目,包含了.Application.Contracts 項目的 應(yīng)用服務(wù) 接口實現(xiàn)。
- .Application.Contracts 項目,主要包含 應(yīng)用服務(wù) interfaces(接口) 和應(yīng)用層的 Dto(數(shù)據(jù)傳輸對像).它用于分離應(yīng)用層的接口和實現(xiàn)。這種方式可以將接口項目做為約定包共享給客戶端。
- .DbMigrator 項目,創(chuàng)建數(shù)據(jù)庫(不存在該數(shù)據(jù)庫時),進(jìn)行數(shù)據(jù)庫遷移,初始化種子數(shù)據(jù)。
- .Domain 項目,解決方案的領(lǐng)域?qū)?主要包含 實體,集合根,領(lǐng)域服務(wù),值類型,倉儲接口 和解決方案的其他領(lǐng)域?qū)ο蟆?/strong>
- .Domain.Shared 項目,包含常量,枚舉和其他對象。這些對象實際上是領(lǐng)域?qū)拥囊徊糠帧?/strong>
- .EntityFrameworkCore 項目,這是集成了EF Core 的項目,它定義了DbContext 并實現(xiàn) .Domain 項目中定義的倉儲接口。(當(dāng)前使用cli創(chuàng)建項目,默認(rèn)使用ef core 做為數(shù)據(jù)庫提供程序。注意,如果是選擇其他數(shù)據(jù)庫,則該項目的名稱會改變)。
- .EntityFrameworkCore.DbMigrations 項目,它包含解決方案的EF Core 數(shù)據(jù)庫遷移。具有獨立的 DbContext 來專門管理遷移。
- .HttpApi 項目,用于定義API控制器。大多數(shù)情況下,我們不需要手動定義API控制器,Abp 的動態(tài)API 功能會根據(jù)項目的應(yīng)用層自動創(chuàng)建API 控制器。
- .HttpApi.Client 項目,定義C#客戶端代理使用解決方案的HTTP API 項目。意思就是,我們可以把它共享給第三方客戶端來調(diào)用 我們定義的API 接口。
- .Web 項目,是應(yīng)用程序的UI(用戶界面),如果使用asp.net core mvc ui,它包括Razor頁面,javascript 文件,樣式文件,圖片, appsetings.json 配置文件等。appsetings.json文件主要用來配置數(shù)據(jù)庫連接字符串和應(yīng)用程序的其他配置。
具體更詳細(xì)的介紹,請參考引用文獻(xiàn):https://docs.abp.io/zh-Hans/abp/latest/Startup-Templates/Application
三. 項目生成完成后,接著需要創(chuàng)建項目運行的數(shù)據(jù)庫
- 首先打開.DbMigrator 項目,找到appsetings.json 文件,打開更改數(shù)據(jù)庫連接字符串,各個數(shù)據(jù)庫連接字符串不一樣,當(dāng)前使用的是sql server,所以連接字符串,只需要把連接服務(wù)改成本地電腦的服務(wù)實例即可。

appsetings.json 文件
sql server 連接字符串大全:https://blog.csdn.net/cncco/article/details/64124460
- 選擇 DbMigrator 項目,暫時先把這個項目設(shè)置成啟動項目。目的是為了先單獨啟動它,生成數(shù)據(jù)庫文件先。

image.png
右鍵--->設(shè)為啟動項目

設(shè)為啟動項目
- 把.DbMigrator設(shè)置成啟動項目后,按Ctrl+F5 運行該項目但不進(jìn)行調(diào)試。等待項目編譯完成,和控制臺命令執(zhí)行遷移完成。

執(zhí)行遷移
- 這樣了就成功創(chuàng)建了數(shù)據(jù)庫并生成了初始化的數(shù)據(jù)。

TodoApp數(shù)據(jù)庫
四. 運行應(yīng)用程序
- 接著,重新把.Web 項目,右鍵設(shè)置成啟動項目,按Ctrl+F5 執(zhí)行并不調(diào)試,啟動應(yīng)用程序。如果直接按F5,啟動將非常慢。建議在不需要斷點調(diào)試的情況下,按Ctrl+F5 的方式運行項目。

運行web 項目
- 如圖,Abp 項目就成功運行起來了。

image.png
引用參考文獻(xiàn):https://docs.abp.io/zh-Hans/abp/6.0/Tutorials/Todo/Index?UI=MVC&DB=EF