系列文章
- 基于 abp vNext 和 .NET Core 開發博客專案 - 使用 abp cli 搭建專案
- 基于 abp vNext 和 .NET Core 開發博客專案 - 給專案瘦身,讓它跑起來
- 基于 abp vNext 和 .NET Core 開發博客專案 - 完善與美化,Swagger登場
- 基于 abp vNext 和 .NET Core 開發博客專案 - 資料訪問和代碼優先
- 基于 abp vNext 和 .NET Core 開發博客專案 - 自定義倉儲之增刪改查
- 基于 abp vNext 和 .NET Core 開發博客專案 - 統一規范API,包裝回傳模型
- 基于 abp vNext 和 .NET Core 開發博客專案 - 再說Swagger,分組、描述、小綠鎖
- 基于 abp vNext 和 .NET Core 開發博客專案 - 接入GitHub,用JWT保護你的API
- 基于 abp vNext 和 .NET Core 開發博客專案 - 例外處理和日志記錄
- 基于 abp vNext 和 .NET Core 開發博客專案 - 使用Redis快取資料
- 基于 abp vNext 和 .NET Core 開發博客專案 - 集成Hangfire實作定時任務處理
- 基于 abp vNext 和 .NET Core 開發博客專案 - 用AutoMapper搞定物件映射
- 基于 abp vNext 和 .NET Core 開發博客專案 - 定時任務最佳實戰(一)
- 基于 abp vNext 和 .NET Core 開發博客專案 - 定時任務最佳實戰(二)
- 基于 abp vNext 和 .NET Core 開發博客專案 - 定時任務最佳實戰(三)
- 基于 abp vNext 和 .NET Core 開發博客專案 - 博客介面實戰篇(一)
- 基于 abp vNext 和 .NET Core 開發博客專案 - 博客介面實戰篇(二)
- 基于 abp vNext 和 .NET Core 開發博客專案 - 博客介面實戰篇(三)
- 基于 abp vNext 和 .NET Core 開發博客專案 - 博客介面實戰篇(四)
- 基于 abp vNext 和 .NET Core 開發博客專案 - 博客介面實戰篇(五)
- 基于 abp vNext 和 .NET Core 開發博客專案 - Blazor 實戰系列(一)
- 基于 abp vNext 和 .NET Core 開發博客專案 - Blazor 實戰系列(二)
- 基于 abp vNext 和 .NET Core 開發博客專案 - Blazor 實戰系列(三)
- 基于 abp vNext 和 .NET Core 開發博客專案 - Blazor 實戰系列(四)
- 基于 abp vNext 和 .NET Core 開發博客專案 - Blazor 實戰系列(五)
- 基于 abp vNext 和 .NET Core 開發博客專案 - Blazor 實戰系列(六)
- 基于 abp vNext 和 .NET Core 開發博客專案 - Blazor 實戰系列(七)
- 基于 abp vNext 和 .NET Core 開發博客專案 - Blazor 實戰系列(八)
- 基于 abp vNext 和 .NET Core 開發博客專案 - Blazor 實戰系列(九)
- 基于 abp vNext 和 .NET Core 開發博客專案 - 終結篇之發布專案
首先,默認咱們已經有了.net core 3.1的開發環境,如果你沒有,快去下載... https://dotnet.microsoft.com/download
由于專案是基于abp vNext開發的,所以開發之前建議去擼一遍abp官方檔案,https://docs.abp.io/en/abp/latest/
創建專案有很多種方式:
- 第一種,純手擼,使用vs手動創建新專案
- 第二種,借助abp模板直接傻瓜式下載,地址:http://abp.io/get-started
- 第三種,abp cli(推薦)
abp cli
abp cli是使用ABP框架啟動新解決方案的最快方法,那么前提是你要安裝啊,
dotnet tool install -g Volo.Abp.Cli
如果你的版本比較低,使用下面命令進行更新
dotnet tool update -g Volo.Abp.Cli

更多使用方法,請參考 https://docs.abp.io/en/abp/latest/CLI
abp new
終于進入主題了,使用命令
abp new <solution-name> 創建博客專案

默認會生成兩個專案,一個aspnet-core,一個react-native,暫時干掉不需要專案吧,雖然react-native也很香,但是現在先忽略它,
然后將aspnet-core檔案夾下所有檔案剪切至我們的根目錄,于是就變成下面這個樣子,

至此,基于abp cli創建專案完成,用VS2019打開看看吧,
此時整個目錄結構是這樣嬸的~
blog_tutorial
├── common.props
├── Meowv.Blog.sln
├── Meowv.Blog.sln.DotSettings
├── src
│ ├── Meowv.Blog.Application
│ ├── Meowv.Blog.Application.Contracts
│ ├── Meowv.Blog.DbMigrator
│ ├── Meowv.Blog.Domain
│ ├── Meowv.Blog.Domain.Shared
│ ├── Meowv.Blog.EntityFrameworkCore
│ ├── Meowv.Blog.EntityFrameworkCore.DbMigrations
│ ├── Meowv.Blog.HttpApi
│ ├── Meowv.Blog.HttpApi.Client
│ └── Meowv.Blog.Web
└── test
├── Meowv.Blog.Application.Tests
├── Meowv.Blog.Domain.Tests
├── Meowv.Blog.EntityFrameworkCore.Tests
├── Meowv.Blog.HttpApi.Client.ConsoleTestApp
├── Meowv.Blog.TestBase
└── Meowv.Blog.Web.Tests
由于是基于abp開發,所有默認的專案幫我們參考了一些非常強大但是我們用不到或者不想用的功能,進一步優化專案結構,刪掉不要的參考,美化美化,
- 先干掉test檔案夾吧,專案剛搭建測驗個毛毛啊?干掉不代表測驗不重要
- 干掉Meowv.Blog.sln.DotSettings,目前來說沒啥亂用
- 添加了一個LICENSE
- 再添加一個README.md檔案
- 再添加一個.github檔案夾,請暫時忽略它,這個是GitHub Action所需
- 干掉src\Meowv.Blog.DbMigrator,有Meowv.Blog.EntityFrameworkCore.DbMigrations就夠了
- 干掉src\Meowv.Blog.HttpApi.Client
- 在src目錄下新增專案Meowv.Blog.Application.Caching,用來處理應用服務快取
- 在src目錄下新增專案Meowv.Blog.BackgroundJobs,用來處理后臺定時任務
- 在src目錄下新增專案Meowv.Blog.Swagger,這里用來撰寫Swagger擴展、Filter等
- 在src目錄下新增專案Meowv.Blog.ToolKits,這里放公共的工具類、擴展方法
- 修改專案名稱Meowv.Blog.Web為Meowv.Blog.HttpApi.Hosting,為了完美同時也可以去修改一下檔案夾的名稱哦
- 在解決方案中新建解決方案檔案夾solution-items,然后編輯Meowv.Blog.sln檔案,修改Meowv.Blog.Web為Meowv.Blog.HttpApi.Hosting,再新增以下代碼
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "solution-items", "solution-items", "{731730B9-645C-430A-AB05-3FC2BED63614}"
ProjectSection(SolutionItems) = preProject
.gitattributes = .gitattributes
.gitignore = .gitignore
common.props = common.props
LICENSE = LICENSE
README.md = README.md
EndProjectSection
EndProject
現在整個專案變成了下面這個樣子
blog_tutorial
├── common.props
├── LICENSE
├── Meowv.Blog.sln
├── README.md
└── src
├── Meowv.Blog.Application
├── Meowv.Blog.Application.Caching
├── Meowv.Blog.Application.Contracts
├── Meowv.Blog.BackgroundJobs
├── Meowv.Blog.Domain
├── Meowv.Blog.Domain.Shared
├── Meowv.Blog.EntityFrameworkCore
├── Meowv.Blog.EntityFrameworkCore.DbMigrations
├── Meowv.Blog.HttpApi
├── Meowv.Blog.HttpApi.Hosting
├── Meowv.Blog.Swagger
└── Meowv.Blog.ToolKits
編譯一下,全部生成成功,到這里算是用abp cli成功搭建一個屬于自己的專案,并且還做了回應的調整,

本章只是搭建了專案,后面將逐一分解,期待嗎,騷年?
開源地址:https://github.com/Meowv/Blog/tree/blog_tutorial
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/30421.html
標籤:.NET Core
