首先,默认咱们已经有了.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.Client
├── Meowv.Blog.HttpApi.Hosting
├── Meowv.Blog.Swagger
└── Meowv.Blog.ToolKits

编译一下,全部生成成功,到这里算是用abp cli成功搭建一个属于自己的项目,并且还做了响应的调整。

本章只是搭建了项目,后面将逐一分解,期待吗,骚年?

开源地址:https://github.com/Meowv/Blog/tree/blog_tutorial

基于 abp vNext 和 .NET Core 开发博客项目 - 使用 abp cli 搭建项目的更多相关文章

  1. 基于 abp vNext 和 .NET Core 开发博客项目 - 定时任务最佳实战(三)

    上一篇(https://www.cnblogs.com/meowv/p/12974439.html)完成了全网各大平台的热点新闻数据的抓取,本篇继续围绕抓取完成后的操作做一个提醒.当每次抓取完数据后, ...

  2. 基于 abp vNext 和 .NET Core 开发博客项目 - 博客接口实战篇(一)

    系列文章 基于 abp vNext 和 .NET Core 开发博客项目 - 使用 abp cli 搭建项目 基于 abp vNext 和 .NET Core 开发博客项目 - 给项目瘦身,让它跑起来 ...

  3. 基于 abp vNext 和 .NET Core 开发博客项目 - 博客接口实战篇(二)

    系列文章 基于 abp vNext 和 .NET Core 开发博客项目 - 使用 abp cli 搭建项目 基于 abp vNext 和 .NET Core 开发博客项目 - 给项目瘦身,让它跑起来 ...

  4. 基于 abp vNext 和 .NET Core 开发博客项目 - 博客接口实战篇(三)

    系列文章 基于 abp vNext 和 .NET Core 开发博客项目 - 使用 abp cli 搭建项目 基于 abp vNext 和 .NET Core 开发博客项目 - 给项目瘦身,让它跑起来 ...

  5. 基于 abp vNext 和 .NET Core 开发博客项目 - 博客接口实战篇(四)

    系列文章 基于 abp vNext 和 .NET Core 开发博客项目 - 使用 abp cli 搭建项目 基于 abp vNext 和 .NET Core 开发博客项目 - 给项目瘦身,让它跑起来 ...

  6. 基于 abp vNext 和 .NET Core 开发博客项目 - 博客接口实战篇(五)

    系列文章 基于 abp vNext 和 .NET Core 开发博客项目 - 使用 abp cli 搭建项目 基于 abp vNext 和 .NET Core 开发博客项目 - 给项目瘦身,让它跑起来 ...

  7. 基于 abp vNext 和 .NET Core 开发博客项目 - Blazor 实战系列(一)

    系列文章 基于 abp vNext 和 .NET Core 开发博客项目 - 使用 abp cli 搭建项目 基于 abp vNext 和 .NET Core 开发博客项目 - 给项目瘦身,让它跑起来 ...

  8. 基于 abp vNext 和 .NET Core 开发博客项目 - Blazor 实战系列(二)

    系列文章 基于 abp vNext 和 .NET Core 开发博客项目 - 使用 abp cli 搭建项目 基于 abp vNext 和 .NET Core 开发博客项目 - 给项目瘦身,让它跑起来 ...

  9. 基于 abp vNext 和 .NET Core 开发博客项目 - Blazor 实战系列(三)

    系列文章 基于 abp vNext 和 .NET Core 开发博客项目 - 使用 abp cli 搭建项目 基于 abp vNext 和 .NET Core 开发博客项目 - 给项目瘦身,让它跑起来 ...

  10. 基于 abp vNext 和 .NET Core 开发博客项目 - Blazor 实战系列(四)

    系列文章 基于 abp vNext 和 .NET Core 开发博客项目 - 使用 abp cli 搭建项目 基于 abp vNext 和 .NET Core 开发博客项目 - 给项目瘦身,让它跑起来 ...

随机推荐

  1. mac上搭建mysql环境配置和Navicat连接mysql

    mac上搭建mysql环境配置 1.下载mysql for mac: https://downloads.mysql.com/archives/community/ 注意:mysql版本要和你的MAC ...

  2. TortoiseSVN的使用,以及冲突解决办法

    接下来,试试用TortoiseSVN修改文件,添加文件,删除文件,以及如何解决冲突等. 添加文件 在检出的工作副本中添加一个Readme.txt文本文件,这时候这个文本文件会显示为没有版本控制的状态, ...

  3. [转载]深度理解Session

    什么是session session的官方定义是:Session:在计算机中,尤其是在网络应用中,称为“会话控制”.Session 对象存储特定用户会话所需的属性及配置信息. 说白了session就是 ...

  4. [YII2] 自带分页调整

    在search Model的search()方法里有一个$dataProvider 属性 ,在这个属性数组里添加 'pagination' => ['pageSize' => 10,],设 ...

  5. PHP反序列化漏洞总结

    写在前边 做了不少PHP反序列化的题了,是时候把坑给填上了.参考了一些大佬们的博客,自己再做一下总结 1.面向对象 2.PHP序列化和反序列化 3.PHP反序列化漏洞实例 1.面向对象 在了解序列化和 ...

  6. HTML+CSS教程(六)浮动-float+定位-position+居中问题

    一.浮动(float)1.文档流:是指盒子按照 html 标签编写的顺序依次从上到下,从左到右排列,块元素占一行,行内元素在一行之内从左到右排列,先写的先排列,后写的排在后面,每个盒子都占据自己的位置 ...

  7. 文件读取的时候要留意 -- 序列化serialize()与反序列化unserialize():

    原文:https://blog.csdn.net/little_rabbit_baby/article/details/53840543 序列化serialize()与反序列化unserialize( ...

  8. 关于VUE的路由地址问题

    目前我们VUE的项目都是单页面应用,路由地址全都是#以不同的锚点去分发,根目录就是 http://localhost:8080/index#/   (至于为什么不是http://localhost:8 ...

  9. 2019-2020-1 20199325《Linux内核原理与分析》第九周作业

    第九周作业要求: 理解Linux系统中进程调度的时机,可以在内核代码中搜索schedule()函数,看都是哪里调用了schedule(),判断我们课程内容中的总结是否准确: 使用gdb跟踪分析一个sc ...

  10. js 运动函数篇 (一) (匀速运动、缓冲运动、多物体运动、多物体不同值运动、多物体多值运动)层层深入

    前言:         本人纯小白一个,有很多地方理解的没有各位大牛那么透彻,如有错误,请各位大牛指出斧正!小弟感激不尽.         本篇文章为您分析一下原生JS写 匀速运动.缓冲运动.多物体运 ...