ABP官方angular(默认)项目配置

ABP == ASP.NET Boilerplate Project


1.项目环境配置


1.开发工具:Visual Studio 2019
2.数据库:使用的是MySql(8.0的,但是应该和版本没关系)数据库
我的数据库是使用的phpMyStudy里面的数据库,因为可以不用在电脑上下载MySql数据库---下载地址:https://www.xp.cn/download.html
你也可以使用本地下载的MySql

---- mysql数据库会有一个问题,在后面提及
3.net sdk:5.0.414版本
4.navicat数据库连接工具

2.下载官方案例


2.1进入官网,点击Get started

ABP官网: https://aspnetboilerplate.com/

2.2现在对应.net版本的项目

注意(选择对应版本):Target Version 和 Target Framework的对应关系,我的.net版本是5.0,所以我的target version 选择 v5.x

查看.net版本方法(win10系统):
1.打开设置
2.找到控制面板
3.点击程序->程序和功能-->发现我们的.net sdk版本为5.0.414

2.3填写信息,下载模板->我这里的项目名为:TestABP

2.4解压zip文件到自定义目录

2.5使用vs2019打开解决方案

attention:打开的目录


3将默认数据库(SqlServer)修改为MySql -- 如果你安装过SqlServer可以略过此过程


3.1 使用NuGet卸载SqlServer的程序包和安装MySql的程序包

1.打开NuGet(工具->NuGet包管理器->程序包管理控制台)

2.在程序包管理控制台卸载SqlServer的程序包->我的已经写在过来,所以爆红了

uninstall-package microsoft.entityframeworkcore.design
uninstall-package microsoft.entityframeworkcore.sqlserver


3.安装MySql程序包(工具->NuGet包管理器->管理解决方案的NuGet程序包)

安装microsoft.entityframeworkcore.MySql和microsoft.entityframeworkcore.design 
安装原理相同,演示一个,*.design不考虑版本


注意:还是版本问题:我们安装5.x的版本,因为.net是5.x的->选好版本->点击安装

3.2更改DbContextConfigurer.cs文件

1.找到DbContextConfigurer.cs文件

2.修改DbContextConfigurer.cs文件为如下

using System;
// System模块是后导入的,为了使用System.Version对象
using System.Data.Common;
using Microsoft.EntityFrameworkCore;
 
namespace MyProduct.EntityFrameworkCore
{
    public static class MyProductDbContextConfigurer
    {
        public static void Configure(DbContextOptionsBuilder<MyProductDbContext> builder, string connectionString)
        {
            //原来的
            //builder.UseSqlServer(connectionString);
            //修改后
            builder.UseMySql(connectionString, new MySqlServerVersion(new Version(8, 0, 11)));
        }
 
        public static void Configure(DbContextOptionsBuilder<MyProductDbContext> builder, DbConnection connection)
        {
            //原来的
            //builder.UseSqlServer(connection);
            //修改后
            builder.UseMySql(connection, new MySqlServerVersion(new Version(8, 0, 11)));
        }
    }
}

3.3修改数据库连接字符串

1.修改TestABP.Migrator项目里面的appsettings.json数据库连接字符串

{
  "ConnectionStrings": {
    "Default": "Server=localhost; Database=在数据库里面新建的数据库名; Port=3306(端口号);Uid=用户名;Pwd=密码"
  }
}

2.修改TestABP.Web.Host项目里面的appsettings.json数据库连接字符串

{
  "ConnectionStrings": {
    "Default": "Server=localhost; Database=TestABPDb; Port=3306;Uid=root;Pwd=123"
  }
}

3.4 删除 (项目名)TestABP.EntityFrameworkCore下面的Migrations(中文意思:迁移)文件夹里面的所有文件

1.不删除Migrations文件夹

3.5 清理解决方案和重新生成解决方案

清理解决方案

注意这里如果爆.net版本错误,说明你的ABP项目需要的.net sdk版本和你的visual studio 2019里面的.net sdk版本不同,重新下载和vs版本相同的
abp项目即可.

重新生成解决方案

没报错误就成功了


4 设置TestABP.Web.Host为启动项目->颜色加黑则成功


4.1 进行数据库迁移

1.打开程序包管理控制台,选中 *.EntityFrameworkCore

2.输入命令

add-migration XXXX,其中XXXX可以自定义名字 - 我用的是InitMySql
update-database

错误1:关键字长度不够

Applying migration '20180205084033_Initial_Migration'.
Failed executing DbCommand (0ms) [Parameters=[], CommandType='Text', CommandTimeout='30']
CREATE INDEX `IX_AbpLanguageTexts_TenantId_Source_LanguageName_Key` ON `AbpLanguageTexts` (`TenantId`, `Source`, `LanguageName`, `Key`);
MySql.Data.MySqlClient.MySqlException (0x80004005): Specified key was too long; max key length is 1000 bytes ---> MySql.Data.MySqlClient.MySqlException (0x80004005)
...

1.如果你使用的是phpMyStudy的数据库MySql -- 解决方法如下
修改mysql默认数据库引擎改为Inndb,重启一下mysql数据库再进行数据库迁移就可以

2.如果你使用的是本地数据库,出现错误1,建议找文档-
成功示例


5 运行项目配置


5.1 无法运行(ctrl+F5)问题

正常的abp项目无法运行,会报如下错误

该项目不知道如何运行配置文件 IIS Express。

5.2解决办法,把项目设置成项目启动

在启动项目(*.Web.Host)处右键属性-->调试 -->启动改为项目即可

5.3正常使用ctrl+F5即可启动项目


6.如何打开web前端界面


1.在搜索引擎的url栏中输入

或者直接在vs2019中点击地址

2.端口号可能不同,如何确定->使用这里的端口号

3.如果还打不开web界面
我猜测可能是没有IIS服务器的事,百度一下安装一下IIS服务器
3.成功界面


posted @ 2022-06-14 15:56  nanfengnan  阅读(520)  评论(0编辑  收藏  举报