欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

ABP Zero项目入门踩坑

程序员文章站 2022-09-26 20:33:41
1.下载ABP项目模板, 打开网址https://aspnetboilerplate.com/Templates,选择MultiPage Web Application,输入项目名称和验证码,即可点击Create My Project按钮下载代码 2.下载完成之后,会跳到https://aspnet ......

1.下载ABP项目模板,

打开网址https://aspnetboilerplate.com/Templates,选择MultiPage Web Application,输入项目名称和验证码,即可点击Create My Project按钮下载代码

ABP Zero项目入门踩坑

 

2.下载完成之后,会跳到https://aspnetboilerplate.com/Pages/Documents/Zero/Startup-Template-Core页面,即开始文档,按照文档就可以完成入门的操作了。

 

3.安装最新版本的VS2017,必须v15.3.5以上,如果电脑系统是window7,还需要安装更新https://www.microsoft.com/en-us/download/details.aspx?id=40855(power shell 4.0),vs2017的nuget控制台必须要power shell 3.0以上。

 

4.用vs2017打开下载的项目。打开工具->选项->nuget包管理器->程序包源,添加一个程序包源地址:https://dotnet.myget.org/F/aspnetcore-dev/api/v3/index.json,即下载的项目中aspnet-core文件夹的NuGet文件的地址,

然后生成项目

 

5.生成数据库

(1)在MyABP.Web.Mvc项目下找到appsettings.json文件,根据自己的需要设置数据库连接字符串

(2)打开工具->nuget包管理器->程序包管理器控制台,修改默认项目为MyABP.EntityFrameworkCore,输入Update-Database命令,回车,这里需要执行命令两次,反正我执行一次只有一个没有表的数据库生成。。

(3)设置MyABP.Web.Mvc为启动项目,设置运行为MyABP.Web,不用IIS,运行项目即可看到网站打开登录界面,输入用户名:admin,密码: 123qwe ,即可打开首页

ABP Zero项目入门踩坑

 

(4)点击Tenants,如果是sql2005或者sql2008的数据库,会报错:SqlException: 'OFFSET' 附近有语法错误。 在 FETCH 语句中选项 NEXT 的用法无效

因为ef core默认生成的分页sql不支持低版本的数据库。修改MyABP.EntityFrameworkCore项目中的 MyABPDbContextConfigurer文件如下即可

 public static class MyABPDbContextConfigurer
    {
        public static void Configure(DbContextOptionsBuilder<MyABPDbContext> builder, string connectionString)
        {
            //builder.UseSqlServer(connectionString);
            //支持sql2005,2008的分页
            builder.UseSqlServer(connectionString, b => b.UseRowNumberForPaging());

        }

        public static void Configure(DbContextOptionsBuilder<MyABPDbContext> builder, DbConnection connection)
        {
            //builder.UseSqlServer(connection);
            //支持sql2005,2008的分页

            builder.UseSqlServer(connection, b => b.UseRowNumberForPaging());
        }
    }