使用ABP打造SAAS系统(1)——环境准备
一、前言
主要实现以下目标:
- 将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源码:
- 选择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
四、相关源码下载
ABP官网:http://www.aspnetboilerplate.com
英文文档:http://www.aspnetboilerplate.com/Pages/Documents
使用ABP打造SAAS系统(1)——环境准备的更多相关文章
- vagrant打造自己的开发环境
vagrant打造自己的开发环境 缘由: 在网上看到斌哥,爽神都写了关于vagrant的博客,都在说很强大,所以很好奇这玩意怎么个强大,然后也就自己来一发玩玩看看. 真实缘由: 说实话是电脑配置太低, ...
- saas 系统租户个性化域名&&租户绑定自己域名的解决方案
实际的需求就类似github 的自定义page 1. 个性化域名 github 实现原理就是用户个性化域名使用泛域名解析,这个比较简单,大部分域名提供商都可以解决 具体操作不用赘述 ...
- saas系统多租户数据隔离的实现(一)数据隔离方案
0. 前言 前几天跟朋友聚会的时候,朋友说他们公司准备自己搞一套saas系统,以实现多个第三方平台的业务接入需求.聊完以后,实在手痒难耐,于是花了两天时间自己实现了两个saas系统多租户数据隔离实现方 ...
- 家用PC机打造VSphere5.1 测试环境:之部署VCenter Server 5.1
家用PC机打造VSphere5.1 测试环境前言:实践出真知,同样学习VMware VSphere 的朋友,也需要不断的测试总结,再测试再总结只有不断的积累才能学好,但是动辄几万的服务器不是所有朋友都 ...
- SaaS 系统架构,Spring Boot 动态数据源实现!
这段时候在准备从零开始做一套SaaS系统,之前的经验都是开发单数据库系统并没有接触过SaaS系统,所以接到这个任务的时候也有也些头疼,不过办法部比困难多,难得的机会. 在网上找了很多关于SaaS的资料 ...
- efcore在Saas系统下多租户零脚本分表分库读写分离解决方案
efcore在Saas系统下多租户零脚本分表分库读写分离解决方案 ## 介绍 本文ShardinfCore版本x.6.0.20+ 本期主角: - [`ShardingCore`](https://gi ...
- 打造高效前端工作环境 - tmux
打造高效前端工作环境 - tmux 前言 现在前端开发可不容易啊,先打开个VIM,然后再打开个lite-server,一不小心写个ES2015还要打开个gulp来做预编译,如果能把这么多个窗口放在一 ...
- 浏览器对localstorage的支持情况以及localstorage在saas系统中的应用实践思考
首先,还是要说,任何一种新特性的引入,通常有着其特有的场景和解决的目标需求,localstorage也一样.在我们的应用场景中,主要在金融业务服务的saas系统.其中涉及很多更改频率很多的元数据的客户 ...
- 基于C/S架构的3D对战网络游戏C++框架_05搭建系统开发环境与Boost智能指针、内存池初步了解
本系列博客主要是以对战游戏为背景介绍3D对战网络游戏常用的开发技术以及C++高级编程技巧,有了这些知识,就可以开发出中小型游戏项目或3D工业仿真项目. 笔者将分为以下三个部分向大家介绍(每日更新): ...
随机推荐
- js算法集合(一) 水仙花数 及拓展(自幂数的判断)
js算法集合(一) ★ 最近有些朋友跟我说对js中的一些算法感到很迷惑,知道这个算法到底是怎么回事,但是就是不会用代码把它写出来,这里我跟大家分享一下做水仙花数的算法的思路,并对其扩展到自幂数的算法, ...
- word vbs脚本 设置所有题注样式为蓝色,下划线
Attribute VB_Name = "题注样式" Sub SetCorssRef() 'Word版,设置所有交叉引用的文本的格式 Dim aField As Word.Fiel ...
- React入门---可复用组件-10
主要对props更多重要的特性进行学习; 还是用之前代码, index.js代码为: var React = require('react'); var ReactDOM = require('rea ...
- 使用cl编译C/C++
每次写程序都是用VS下打开的,而且有智能提示,经常很容易看到自己哪里写错了,其实想联系自己写代码的能力,不应该要这些的,纯粹的不要智能提示 所以自己想用轻量级的编辑器写,然后就用了notepad++( ...
- Python ORM框架之 Peewee入门
之前在学Django时,发现它的模型层非常好用,把对数据库的操作映射成对类.对象的操作,避免了我们直接写在Web项目中SQL语句,当时想,如果这个模型层可以独立出来使用就好了,那我们平台操作数据库也可 ...
- 数据结构与算法系列研究七——图、prim算法、dijkstra算法
图.prim算法.dijkstra算法 1. 图的定义 图(Graph)可以简单表示为G=<V, E>,其中V称为顶点(vertex)集合,E称为边(edge)集合.图论中的图(graph ...
- 2.1 Java程序的构成
2.1 Java程序的构成 2.1.1逻辑构成 Java源程序逻辑构成分为两大部分:程序头包的引用和类 的定义 1.程序头包的引用 主要是指引用JDK软件包自带的包,也可以是自己定义的类. 引用之后程 ...
- .net 企业管理系统快熟搭建框架
简言 本人在博客园注册也2年多了,一直没有写自己的博客,因为才疏学浅一直跟着园子里的大哥们学习这.net技术.一年之前跳槽到现在的公司工作,由于公司没有自己一套的开发框架,每次都要重新 ...
- Swift和Javascript的神奇魔法
Swift和Javascript的神奇魔法 记录Swift和Javascript如何进行交互 前言 今天在网上看到了一篇介绍Swift和Javascript交互的文章,感觉作者写的很好,因此把作者文章 ...
- 13、Java菜单条、菜单、菜单项
13.Java菜单条.菜单.菜单项 一般用Java做界面时,都得牵涉到菜单条.菜单.菜单项的设计.菜单项放在菜单里,菜单放在菜单条里,且其字体均可设置. 13.1.菜单条(Menubar) Frame ...