如何通过.Net Core Cli 创建多项目Solution

创建.Net Core Web 项目

本文将介绍如何通过PowerShell和.Net Core Cli 创建一个多项目的Solution。主要面向使用VS Code,不打算安装Visual Studio的小伙伴们。

实现目标

创建一个体育新闻发布系统的Solution— SportsNews,项目描述,类型和项目间的依赖关系如下:

  • SportsNews.Web Web项目,提供后台管理页面和其他客户端WebApi访问接口。
  • SportsNews.Business 封装新闻发布管理的所有业务逻辑。
  • SportsNews.Data 封装ORM工具,例如Dapper或EF Core。
  • SportsNews.Entity 定义项目中所有相关实体类的。
  • SportsNews.Utils 封装第三方类库,如NPOI或Mail等。
  • SportsNews.ETL 封装每天定时执行的各种数据同步任务。
项目类型依赖
SportsNews.WebmvcSportsNews.Business SportsNews.Data SportsNews.Entity
SportsNews.BusinessclasslibSportsNews.Data SportsNews.Entity SportsNews.Utils
SportsNews.DataclasslibSportsNews.Entity
SportsNews.Entityclasslib
SportsNews.Utilsclasslib
SportsNews.ETLconsoleSportsNews.Business SportsNews.Data SportsNews.Entity

项目创建

准备

  1. 启动Powershell
  2. 创建Solution目录SportsNews
  3. 进入SportsNews目录
mkdir SportsNews
cd SportsNews

创建Solution的sln文件

dotnet new sln

创建所有项目

本文只是通过创建该项目,展示通过命令行创建多项目Solution的过程。因此在每个项目创建上,都采用了比较简化的方式,小伙伴们可以根据自己需要进行剪裁。也可以参照微软Net Core Cli 官网创建需要的其他项目如WPF,WinForm等。

dotnet new mvc -o SportsNews.Web
dotnet new classlib  -o  SportsNews.Business
dotnet new classlib  -o  SportsNews.Data
dotnet new classlib  -o  SportsNews.Entity
dotnet new classlib  -o  SportsNews.Utils
dotnet new console  -o  SportsNews.ETL

将所有项目添加到当前Solution中

dotnet sln add ./SportsNews.Web/SportsNews.Web.csproj
dotnet sln add ./SportsNews.Business/SportsNews.Business.csproj
dotnet sln add ./SportsNews.Data/SportsNews.Data.csproj
dotnet sln add ./SportsNews.Entity/SportsNews.Entity.csproj
dotnet sln add ./SportsNews.Utils/SportsNews.Utils.csproj
dotnet sln add ./SportsNews.ETL/SportsNews.ETL.csproj

设置SportsNews.Web项目的依赖项

dotnet add ./SportsNews.Web/SportsNews.Web.csproj reference ./SportsNews.Business/SportsNews.Business.csproj
dotnet add ./SportsNews.Web/SportsNews.Web.csproj reference ./SportsNews.Data/SportsNews.Data.csproj
dotnet add ./SportsNews.Web/SportsNews.Web.csproj reference ./SportsNews.Entity/SportsNews.Entity.csproj

设置SportsNews.Business项目的依赖项

dotnet add ./SportsNews.Business/SportsNews.Business.csproj reference ./SportsNews.Data/SportsNews.Data.csproj
dotnet add ./SportsNews.Business/SportsNews.Business.csproj reference ./SportsNews.Entity/SportsNews.Entity.csproj
dotnet add ./SportsNews.Business/SportsNews.Business.csproj reference ./SportsNews.Utils/SportsNews.Utils.csproj

设置SportsNews.Data项目的依赖项

dotnet add ./SportsNews.Data/SportsNews.Data.csproj reference ./SportsNews.Entity/SportsNews.Entity.csproj

设置SportsNews.ETL项目的依赖项

dotnet add ./SportsNews.ETL/SportsNews.ETL.csproj reference ./SportsNews.Business/SportsNews.Business.csproj
dotnet add ./SportsNews.ETL/SportsNews.ETL.csproj reference ./SportsNews.Data/SportsNews.Data.csproj
dotnet add ./SportsNews.ETL/SportsNews.ETL.csproj reference ./SportsNews.Entity/SportsNews.Entity.csproj

构建项目

dotnet build .\SportsNews.sln

在这里插入图片描述
如上图的执行结果,根据项目依赖顺序,生成的DLL文件顺序为:

  1. SportsNews.Entity.dll
  2. SportsNews.Utils.dll
  3. SportsNews.Data.dll
  4. SportsNews.ETL.dll
  5. SportsNews.Business.dll
  6. SportsNews.Web.dll 和 SportsNews.Web.Views.dll

启动SportsNews.Web项目

dotnet run --project ./SportsNews.Web/SportsNews.Web.csproj

启动SportsNews.ETL项目

dotnet run --project ./SportsNews.ETL/SportsNews.ETL.csproj
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值