一、前言
使用ABP也有一段时间了,很多东西是懂非懂,打算试着使用abp来搭建一套SAAS系统,与实际项目相互验证。
主要实现以下目标:
- 将ABP源码与实际项目相结合,后续可以修改相关源码来支持项目,使得开源发挥相关作用
- 由浅入深,争取做到每一步清晰,让新人也容易入手
- 具备常见模块:
- 发布源码到GITHUB
- 每一次源码发到CSDN下载站
本教程适用人群:
- 对DDD有一定了解(不了解可以参考:http://www.cnblogs.com/landeanfen/p/4816706.html)
- 对ABP常规使用有一点了解(不了解可以参考:http://www.cnblogs.com/kebinet/p/5341663.html)
- 对SAAS系统有一定了解
开发环境:
- Visual Studio 2017 (必备条件:ABP源码必须 VS 2017 才能编译)
- SQL Server 2014
- 浏览器:firefox、chrome、IE
二、项目环境准备
1、创建MyProjcet项目
- 使用ABP网站生成对应的项目代码(网站地址:https://aspnetboilerplate.com/ )
- 下载完后,解压压缩包,可以看到以下文件:
- 用VS2017打开我们的项目,看到以下目录
- 将MyProject.Web 设为启动项目,并重新生成该项目,此时VS会自动从nuget下载对应的dll
- 加载完成后运行我们的程序,看到以下页面,证明运行成功
2、下载ABP源码:
下载地址: https://github.com/aspnetboilerplate
本文章使用源码:http://download.csdn.net/detail/zyzwen2/9875613
- 选择apb项目源码
- 下载相关压缩包
- 解压对应的压缩包,看到以下目录
- 使用VS2017打开对应项目,这个是由多个项目组成的解决方案,每一块是对应ABP对应模块的源码,如果需要哪个模块的dll,右键生成对应的模块
三、使用自己的ABP源码替换项目中的dll
- 我们看下 MyProject中每个项目针对ABP的相关引用:
- 重新生成ABP源码相关项目,生成对应的dll,并拷贝到MyProject项目下面的lib中(具体目录自己定,本人是跟myproject同级目录)
- 根据上面的Excel表格,删除MyProject项目相关引用,按照列表添加lib下面相关引用
- 添加完成后重新生成我们的项目
- 运行会遇到以下错误,EF版本不匹配,我们可以从abp源码项目中拷贝以下文件到lib中(EntityFramework.dll、EntityFramework.DynamicFilters.dll、EntityFramework.SqlServer.dll)
- 删除 MyProject.Web、MyProject.EntityFramework中对于(EntityFramework.dll、EntityFramework.DynamicFilters.dll、EntityFramework.SqlServer.dll),并重新从lib添加对于的应用,重新生成并运行该项目,此时又看到我们熟悉的界面,证明运行成功,此时项目引用的都是我们自己通过ABP源码生成的dll,后续根据项目需要更改abp源码,就比较好替换对应的dll
四、相关源码下载
本文章代码(CSDN):
ABP生成项目(MyProject):http://download.csdn.net/detail/zyzwen2/9875618
ABP源码(2.1.0.0)日期:2017-6-20:http://download.csdn.net/detail/zyzwen2/9875613
使用ABP打造SAAS系统(1)——第1节课源码:http://download.csdn.net/detail/zyzwen2/9875622
其他下载:
ASP.NET Boilerplate Project(ABP.Net样板项目)的简称
ABP官网:http://www.aspnetboilerplate.com
英文文档:http://www.aspnetboilerplate.com/Pages/Documents
Github:https://github.com/aspnetboilerplate
本章源码还未发布到github,后续提供....