一、前言
使用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源碼:
本文章使用源碼: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
ABP官網: http://www.aspnetboilerplate.com
英文文檔: http://www.aspnetboilerplate.com/Pages/Documents
本章源碼還未發布到github,后續提供....