【abp Vnext】下载并运行abp Vnext项目详细教程文档

这篇具有很好参考价值的文章主要介绍了【abp Vnext】下载并运行abp Vnext项目详细教程文档。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

软件环境:电脑需要基础软件环境node.js、npm,这些网上教程很多,请自行百度
mysql安装教程:Mysql 安装以及初次登录修改密码贴
redis安装教程:redis的安装以及客户端的安装详细教程

1.安装Visual Studio 2022

官方下载Professional 2022:https://visualstudio.microsoft.com/zh-hans/vs/
abp vnext下载,C#,数据库,microsoft,asp.net
下载完成后安装:
abp vnext下载,C#,数据库,microsoft,asp.net
点击继续按钮,出现下面截图
abp vnext下载,C#,数据库,microsoft,asp.net
然后勾选(ASP.NET和Web开发和Visual Studio 扩展开发
abp vnext下载,C#,数据库,microsoft,asp.net
abp vnext下载,C#,数据库,microsoft,asp.net

自定义选择安装的位置,然后点击安装
abp vnext下载,C#,数据库,microsoft,asp.net

abp vnext下载,C#,数据库,microsoft,asp.net


1.安装ABP CLI脚手架

在命令行终端中安装 ABP CLI:

dotnet tool install -g Volo.Abp.Cli

如果报错如下,则说明本地的net sdk版本低于7.0
abp vnext下载,C#,数据库,microsoft,asp.net
解决办法
1.官网下载.NET 7.0:https://dotnet.microsoft.com/en-us/download/dotnet/7.0
2.根据电脑系统以及版本号来下载(我的电脑是windows10 x64版本的)
abp vnext下载,C#,数据库,microsoft,asp.net
安装完成后,在终端输入命令验证下,显示version是7,则没问题

dotnet --info

abp vnext下载,C#,数据库,microsoft,asp.net
在终端再次输入如下命令安装 ABP CLI

dotnet tool install -g Volo.Abp.Cli

执行成功后的截图
abp vnext下载,C#,数据库,microsoft,asp.net


2.选择abp框架配置

abp官网:https://abp.io/get-started
根据需求选择对应的配置(我这次选择的多层应用、mvc UI框架、mysql数据库、无移动端)
abp vnext下载,C#,数据库,microsoft,asp.net

然后复制命令
abp vnext下载,C#,数据库,microsoft,asp.net

用cmd弹窗进入到指定的项目文件夹
输入如下命令行

abp new Acme.BookStore -dbms MySQL --tiered --theme basic 

abp vnext下载,C#,数据库,microsoft,asp.net

出现如下,则说明成功
abp vnext下载,C#,数据库,microsoft,asp.net


3.运行abp框架

鼠标双击用vs2022打开

abp vnext下载,C#,数据库,microsoft,asp.net

默认结构
abp vnext下载,C#,数据库,microsoft,asp.net
选择Acme.BookStore.DbMigrator为启动项
abp vnext下载,C#,数据库,microsoft,asp.net

修改数据库配置
Acme.BookStore.AuthServerAcme.BookStore.DbMigratorAcme.BookStore.HttpApi.Host的appsettings.json文件更改为需要连接的mysql数据库,Server是数据库ip、Port是端口、Database是数据库名、Uid是数据库账号、Pwd是数据库密码

abp vnext下载,C#,数据库,microsoft,asp.net
在工具==》NuGet包管理器==》程序包管理器控制台==》默认项目选择EntityFrameworkCoreabp vnext下载,C#,数据库,microsoft,asp.net
安装Microsoft.EntityFrameworkCore.Design 包
abp vnext下载,C#,数据库,microsoft,asp.net

abp vnext下载,C#,数据库,microsoft,asp.net

abp vnext下载,C#,数据库,microsoft,asp.net
注意点:
因为在cmd命令窗口输入的如下命令,查询到的版本号为7.0.202

dotnet --version

所以Microsoft.EntityFrameworkCore.Tools包需要降级为7.0.2的版本(先卸载项目自带的7.0.4,然后再安装7.0.2,否则运行项目会报错500.30),如下
abp vnext下载,C#,数据库,microsoft,asp.net

上面安装完成后,在控制台输入如下命令行,生成迁移文件

Add-Migration Init

abp vnext下载,C#,数据库,microsoft,asp.net
跑完再执行迁移指令

 Update-Database

abp vnext下载,C#,数据库,microsoft,asp.net
然后配置启动项,在解决方案Acme.BookStore里,选择配置启动项
abp vnext下载,C#,数据库,microsoft,asp.net
选择多个启动项目,然后更改AuthServer和Host,然后点击应用、确定,最后按Ctrl+F5运行
abp vnext下载,C#,数据库,microsoft,asp.net

然后效果图如下:
abp vnext下载,C#,数据库,microsoft,asp.net


abp vnext下载,C#,数据库,microsoft,asp.net


踩坑点:

1.安装net SDK7.0以前版本需要使用Vs2022版本,则执行迁移会报错

2.因为本地安装的Net SDK7.0.202版本,所以项目Acme.BookStore.EntityFrameworkCore解决方案的NuGet方案需要降低版本为7.0.2版本,否则运行项目会报错500.30

3.官方文档:介绍目录结构作用


项目组织在src和test文件夹中. src文件夹包含实际应用程序,该应用程序基于前面提到的DDD原则进行分层. 下图展示了解决方案的层和项目的依赖关系:

abp vnext下载,C#,数据库,microsoft,asp.net

下面介绍解决方案中的项目及依赖关系

.Domain.Shared 项目

项目包含常量,枚举和其他对象,这些对象实际上是领域层的一部分,但是解决方案中所有的层/项目中都会使用到.

例如 BookType 枚举和 BookConsts 类 (可能是 Book
实体用到的常数字段,像MaxNameLength)都适合放在这个项目中.

该项目不依赖解决方案中的其他项目. 其他项目直接或间接依赖该项目

.Domain 项目

解决方案的领域层. 它主要包含 实体, 集合根, 领域服务, 值类型, 仓储接口 和解决方案的其他领域对象.

例如 Book 实体和 IBookRepository 接口都适合放在这个项目中.

它依赖 .Domain.Shared 项目,因为项目中会用到它的一些常量,枚举和定义其他对象. .Application.Contracts
项目 项目主要包含 应用服务 interfaces 和应用层的 数据传输对象 (DTO). 它用于分离应用层的接口和实现.
这种方式可以将接口项目做为约定包共享给客户端.

例如 IBookAppService 接口和 BookCreationDto 类都适合放在这个项目中.

它依赖 .Domain.Shared 因为它可能会在应用接口和DTO中使用常量,枚举和其他的共享对象.

.Application 项目

项目包含 .Application.Contracts 项目的 应用服务 接口实现.

例如 BookAppService 类适合放在这个项目中.

它依赖 .Application.Contracts 项目, 因为它需要实现接口与使用DTO. 它依赖 .Domain
项目,因为它需要使用领域对象(实体,仓储接口等)执行应用程序逻辑. .EntityFrameworkCore 项目 这是集成EF
Core的项目. 它定义了 DbContext 并实现 .Domain 项目中定义的仓储接口.

它依赖 .Domain 项目,因为它需要引用实体和仓储接口. 只有在你使用了EF Core做为数据库提供程序时,此项目才会可用.
如果选择的是其他数据库提供程序那么项目的名称会改变

.EntityFrameworkCore.DbMigrations 项目

包含解决方案的EF Core数据库迁移. 它有独立的 DbContext 来专门管理迁移.

ABP是一个模块化的框架,理想的设计是让每个模块都有自己的 DbContext 类. 这时用于迁移的 DbContext 就会发挥作用.
它将所有的 DbContext 配置统一到单个模型中以维护单个数据库的模式.
对于更高级的场景,可以程序可以拥有多个数据库(每个数据库有一个或多个模块表)和多个迁移DbContext(每个都维护不同的数据库模式)

需要注意,迁移 DbContext 仅用于数据库迁移,而不在运行时使用.

它依赖 .EntityFrameworkCore 项目,因为它重用了应用程序的 DbContext 配置 . 只有在你使用了EF
Core做为数据库提供程序时,此项目才会可用. 参阅Entity Framework Core迁移指南了解这个项目的详细信息.

.DbMigrator 项目

这是一个控制台应用程序,它简化了在开发和生产环境执行数据库迁移的操作.当你使用它时;

必要时创建数据库(没有数据库时). 应用未迁移的数据库迁移. 初始化种子数据(当你需要时). 这个项目有自己的
appsettings.json 文件. 所以如果要更改数据库连接字符串,请记得也要更改此文件.

初始化种子数据很重要,ABP具有模块化的种子数据基础设施. 种子数据的更多信息,请参阅文档.

虽然创建数据库和应用迁移似乎只对关系数据库有用,但即使你选择NoSQL数据库提供程序(如MongoDB),也会生成此项目.
这时,它会为应用程序提供必要的初始数据.

它依赖 .EntityFrameworkCore.DbMigrations 项目 (针对EF Core),因为它需要访问迁移文件. 它依赖
.Application.Contracts 项目,因为它需要访问权限定义在初始化种子数据时为管理员用户赋予所有权限.

.HttpApi 项目

用于定义API控制器.

大多数情况下,你不需要手动定义API控制器,因为ABP的动态API功能会根据你的应用层自动创建API控制器.
但是,如果你需要编写API控制器,那么它是最合适的地方.

它依赖 .Application.Contracts 项目,因为它需要注入应用服务接口. .HttpApi.Client 项目
定义C#客户端代理使用解决方案的HTTP API项目. 可以将上编辑共享给第三方客户端,使其轻松的在DotNet应用程序中使用你的HTTP
API(其他类型的应用程序可以手动或使用其平台的工具来使用你的API).

ABP有动态 C# API 客户端功能,所以大多数情况下你不需要手动的创建C#客户端代理.

.HttpApi.Client.ConsoleTestApp 项目是一个用于演示客户端代理用法的控制台应用程序.

它依赖 .Application.Contracts 项目,因为它需要使用应用服务接口和DTO.
如果你不需要为API创建动态C#客户端代理,可以删除此项目和依赖项

.Web 项目

包含应用程序的用户界面(UI).如果使用ASP.NET Core MVC UI,
它包括Razor页面,javascript文件,样式文件,图片等…

包含应用程序主要的 appsettings.json 配置文件,用于配置数据库连接字符串和应用程序的其他配置

依赖 .HttpApi 项目,因为UI层需要使用解决方案的API和应用服务接口. 如果查看 .Web.csproj 源码, 你会看到对
.Application 和 .EntityFrameworkCore.DbMigrations 项目的引用.

在编写UI层时实际上不需要这些引用. 因为UI层通常不依赖于EF Core或应用层的实现.
这个启动模板已经为分层部署做好了准备,API层托管在不同与UI层的服务器中.

但是如果你不选择 --tiered 选项, .Web项目会有这些引用,以便能够将Web,Api和应用层托管在单个应用程序站点.

你可以在表示层中使用领域实体和仓储,但是根据DDD的理论,这被认为是一种不好的做法.

Test 项目

解决方案有多个测试项目,每一层都会有一个:

.Domain.Tests 用于测试领域层. .Application.Tests 用于测试应用层.
.EntityFrameworkCore.Tests 用于测试EF Core配置与自定义仓储. .Web.Tests
用于测试UI(适用于ASP.NET Core MVC UI). .TestBase 所有测试项目的基础(共享)项目. 此外,
.HttpApi.Client.ConsoleTestApp
是一个控制台应用程序(不是自动化测试项目),它用于演示.Net应用程序中HTTP API的用法.

测试项目是用于做集成测试的:

它完全集成到ABP框架和应用程序的所有服务. 如果数据库提供程序是EF
Core,测试项目会使用SQLite内存数据库,如果是MongoDB,它使用Mongo2Go库.
授权被禁用,任何的应用服务都可以在测试中轻松调用.
你依然可以编写单元测试,只不过它很难写(因为你需要准备mock/fake对象),但它的运行速度更快(因为只测试单个类并跳过所有初始化过程).文章来源地址https://www.toymoban.com/news/detail-724049.html

到了这里,关于【abp Vnext】下载并运行abp Vnext项目详细教程文档的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 迁移现有用户数据到ABP vNext

    使用 ABP vNext(下文简称 ABP)时,通常都是从 cli 开始新建模板,从一个空项目开始。对已经存续的项目来说,现有的数据,特别是用户等核心数据需要进行迁移。 老的项目,随着规模越来越大,每次修改都需要更改非常多地方,最重要的是,共用数据库使得维护起来需要小

    2024年02月09日
    浏览(24)
  • OData WebAPI实践-与ABP vNext集成

    本文属于 OData 系列文章 ABP 是一个流行的 ASP. NET 开发框架,旧版的的 ABP 已经能够非常好的支持了 OData ,并提供了对应的 OData 包。 ABP vNext 是一个重新设计的,面向微服务的框架,提供了一些非常有用的特性,包括分页查询等但是它并不能原生支持 OData ,我们需要自行实现

    2024年02月04日
    浏览(25)
  • Abp Vnext 动态(静态)API客户端源码解析

    根据以往的经验,通过接口远程调用服务的原理大致如下: 服务端:根据接口定义方法的签名生成路由,并暴露Api。 客户端:根据接口定义方法的签名生成请求,通过HTTPClient调用。 这种经验可以用来理解ABP VNext自动API的方式,但如果不使用自动API并且控制器定义了路由的情

    2024年02月06日
    浏览(47)
  • abp Vnext OpenIddect 扩展微信小程序授权登录

    abp vnext6.0之后官方替换了原来的ids4,采用了openIddict的oauth认证框架。使用之前的方法已经不行,以下是OpenIddect 使用ITokenExtensionGrant接口进行的授权登入扩展,按照以下代码可实现,欢迎交流指正。 使用上面定义的ExtensionGrantName扩展的这个openiddict的认证流程的名字 钉钉可参

    2024年02月10日
    浏览(16)
  • RDIF.vNext全新低代码快速开发框架平台发布

    RDIF.vNext ,全新低代码快速开发集成框架平台,给用户和开发者最佳的.Net框架平台方案,为企业快速构建跨平台、企业级的应用提供强大支持。 RDIF.vNext的前身是RDIFramework框架,RDIF(Rapid develop Integrate Framework, vNext代表全新下一代),全新设计,全新开发,代码量减少50%,运行的

    2023年04月11日
    浏览(35)
  • uniapp - 超详细实现播放 svg / svga 格式动画组件插件,用于直播间赠送礼物特效动画或项目动画特效较多的应用(新手小白保姆级教程,提供插件+详细运行示例+使用文档+注意事项+格式说明)

    网上关于 uniapp 播放 svg / svga 格式动画的教程很乱,基本上全是 BUG 和各种不兼容,很难复制过来自己用。 本文实现了 在 uniapp 项目中(完美兼容 H5 / App / 微信小程序平台),播放 svg / svga 格式动画功能的详细介绍, 您只需要使用我提供的 “组件源码及插件”,放到项目中去

    2023年04月24日
    浏览(152)
  • 快速下载VScode并配置Python运行环境【详细教程】

    博主:命运之光 前言 本文主要内容,下载VScode和配置Python运行环境, 安装,主打的就是一个简单快速 下载vscode 第一步vscode官网下载 vscode官网下载 点击跳转到下载官网 第二步点击下载 第三步点击下载 下载后等待下载完成即可 安装vscode 第一步 第二步 第三步 第四步 第五步

    2024年02月01日
    浏览(39)
  • 风格迁移CycleGAN开源项目代码运行步骤详细教程

       最近在学习Unpaired Image-to-Image Translation using Cycle-Consistent Adversarial Networks这篇论文,论文下载地址,想要复现一下文中的代码,过程中遇到了很多问题,因此记录下来。遇到其他问题欢迎在评论区留言,相互解答。 如果没有安装Anaconda或者MIniconda的可以先安装,并学一下

    2024年02月02日
    浏览(22)
  • idea2023版本下载安装配置与卸载详细步骤(包含运行第一个java程序教程)

    目录 前言必读 一、下载idea 先下载JDK  1.去浏览器搜索idea官网,找到官网  2.选择Download 3.点击左边的Download下载就好了 4.在本地磁盘建一个文件夹,专门用来存放idea软件的 二、安装idea  5.在本地磁盘中的下载里面找到下载的idea并双击打开 6.选择Next ​编辑 7.选择要安装的文

    2024年02月08日
    浏览(83)
  • idea2022版本下载安装配置与卸载详细步骤(包含运行第一个java程序教程)

    目录 前言必读 一、下载idea 先下载JDK  1.去浏览器搜索idea官网,找到官网  2.选择Download 3.点击左边的Download下载就好了 4.在本地磁盘建一个文件夹,专门用来存放idea软件的 二、安装idea  5.在本地磁盘中的下载里面找到下载的idea并双击打开 6.选择Next ​编辑 7.选择要安装的文

    2023年04月08日
    浏览(52)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包