本连串教程是依据Abp V1.0本子

ABP入门体系目录——学习Abp框架之实操演练
源码路径:Github-LearningMpaAbp

ABP入门种类目录——学习Abp框架之实操演练
源码路径:Github-LearningMpaAbp



1. 升级Abp

本种类教程是依据Abp
V1.0本子,现在Abp版本已经升级至V1.4.2(为止至作品表露时间),其中新增了New
Feature,并对Abp做了相应的Enhancements,以及Bug
fixs。现在我们就把它升级至最新版本,这怎么样提高吗?
下面就请按我的步调来将Abp由V1.0升级至V1.4.2

1. 升级Abp

本连串教程是依据Abp V1.0本子,现在Abp版本早已提高至V1.4.2,其中新增了New
Feature,并对Abp做了对应的Enhancements,以及Bug
fixs。现在我们就把它升级至最新版本,那什么升级吗?
上面就请按自己的步骤来将Abp由V1.0升级至V1.4.2

1.1. 过滤Abp Nuget包

VS打开解决方案文件,右键解决方案(不是某个项目),选中【管明白决方案的Nuget程序包(N)…】,如下图1.1。

图片 1

从图中可以看出,VS智能提醒有42个Nuget包可升高,其中有2个Nuget程序包可统一。看到这些,不要犯了性心理障碍,就所有翻新合并。
要了然,Nuget程序包是相互重视的,不自然最新的就能相互匹配。
之所以那四遍,大家保险起见,只升级Abp相关Nuget程序包。
入选【更新】,在摸索框中录入Abp举行筛选Abp相关Nuget程序包(一共16个)。

1.1. 过滤Abp Nuget包

VS打开解决方案文件,右键解决方案(不是某个项目),选中【管明白决方案的Nuget程序包(N)…】,如下图1.1。

图片 2

图1.1

从图中得以看看,VS智能提示有42个Nuget包可提高,其中有2个Nuget程序包可统一。看到那一个,不要犯了人格障碍,就所有翻新合并。
要知道,Nuget程序包是相互器重的,不肯定最新的就能互相匹配。
就此那五次,大家保障起见,只升级Abp相关Nuget程序包。
入选【更新】,在物色框中录入Abp进行筛选Abp相关Nuget程序包(一共16个)。

1.2. 更新Abp相关Nuget包

勾选【采用具有的包】,并点击【更新】。VS会去分析解决方案下各种工程的Nuge包的借助项,如下图1.2。
图片 3
解析已毕后,弹出分析结果,即每个工程即将更新哪些Nuget包,如图1.3。

图片 4

从图中可以发现,不仅仅是翻新了Nuget包,信赖的相干包也将自动更新。
肯定,点击【确定】,紧接着会弹出一个【接受许可证】,如图1.4,点击【我接受】。
图片 5

阅览输出窗口,发现VS已经起来下载要翻新的Nuget包并安装,如图1.5。

图片 6

因为Abp
V1.4.2早就支撑TypeScript,VS解析到需求设置TypeScript,弹出图1.6所示对话框。

图片 7

点【是】进入下一步。稍等2分钟,即可成功安装,如图1.7。

图片 8

1.2. 更新Abp相关Nuget包

勾选【选用具有的包】,并点击【更新】。VS会去分析解决方案下种种工程的Nuge包的借助项,如下图1.2。

图片 9

图1.2

浅析完结后,弹出分析结果,即每个工程即将更新哪些Nuget包,如图1.3。

图片 10

图1.3

从图中可以窥见,不仅仅是立异了Nuget包,依赖的有关包也将自动更新。
一定,点击【确定】,紧接着会弹出一个【接受许可证】,如图1.4,点击【我经受】。

图片 11

图1.4

观测输出窗口,发现VS已经初始下载要翻新的Nuget包并设置,如图1.5。

图片 12

图1.5

因为Abp
V1.4.2业已协助TypeScript,VS解析到须求设置TypeScript,弹出图1.6所示对话框。

图片 13

图1.6

点【是】进入下一步。稍等2分钟,即可成功安装,如图1.7。

图片 14

图1.7

1.3. 编译项目

编译项目,报了一堆错误,如图1.8。
图片 15

率先个谬误好解决,是大家增加AbpSesion出的错误。定位一看,原来是Abp修改了默许IAbpSession的兑现类ClaimsAbpSession。我们只须要删除报错的构造方法,按下边格局改变即可:

public AbpSessionExtension(IPrincipalAccessor principalAccessor, IMultiTenancyConfig multiTenancy,
            ITenantResolver tenantResolver, IAmbientScopeProvider<SessionOverride> sessionOverrideScopeProvider)
            : base(principalAccessor, multiTenancy, tenantResolver, sessionOverrideScopeProvider)
        {
        }

接下去的错误都是Typescript报的错,须要设置下TypeScript。

1.3. 编译项目

编译项目,报了一堆错误,如图1.8。

图片 16

图1.8

首先个谬误好解决,是大家扩充AbpSesion出的失实。定位一看,原来是Abp修改了默许IAbpSession的完成类ClaimsAbpSession。大家只须要删除报错的构造方法,按上面形式改变即可:

public AbpSessionExtension(IPrincipalAccessor principalAccessor, IMultiTenancyConfig multiTenancy,
            ITenantResolver tenantResolver, IAmbientScopeProvider<SessionOverride> sessionOverrideScopeProvider)
            : base(principalAccessor, multiTenancy, tenantResolver, sessionOverrideScopeProvider)
        {
        }

接下去的失实都是Typescript报的错,需求安装下TypeScript。

1.4. 安装TypeScript

梯次点击【工具–>增加和立异–>联机】,在左边搜索框中搜索typescript,并按【最新】排序,搜索结果如图1.9。选取新型版本下载后,关闭VS,安装即可。

图片 17

1.4. 安装TypeScript

次第点击【工具–>扩张和翻新–>联机】,在左边搜索框中搜索typescript,并按【最新】排序,搜索结果如图1.9。选拔新型版本下载后,关闭VS,安装即可。

图片 18

图1.9

1.5. 运行Web项目

再度编译下,Ctrl+F5运转web项目,报错如图2.0。

图片 19
依据图示所言,修改web.config中的customErrors节点为Off,<customErrors mode="Off" />。重新运行Web项目,报错如图2.1。
图片 20

一看是
EntityFramework.DynamicFilters相关错误,那几个是一个第三方Nuget包,用来帮忙EF举行Linq动态过滤的。猜到一种可能是进步后的DynamicFilters删除了图中的扩充方法,导致出错。到abp官方github上的档次上按照主要字搜索Issue,如图2.2。
图片 21

果真我们跟我们报的一致的错,其中已经交由精通决方案,必要将DynamicFilterNuget包降级到1.4.11。

右键解决方案,选拔【管领会决方案的Nuget程序包(N)…】,在探寻框中输入
【EntityFramework.DynamicFilters】过滤,并入选看重的门类,在本子下拉框中选取1.4.11,点击安装,如图2.3。

图片 22

再也编译,再度启航web项目,仍旧报错,如图2.4。

图片 23

是还是不是快完蛋了,别怕,跟着自己做,让您气死回生。
独家定位到重视EntityFramework.DynamicFilters组件的项目,修改App.Config或Web.Config,找到以下节点:

<dependentAssembly>
  <assemblyIdentity name="EntityFramework.DynamicFilters" publicKeyToken="146423a1b8d60775" culture="neutral" />
  <bindingRedirect oldVersion="0.0.0.0-2.3.0.0" newVersion="2.3.0.0" />
</dependentAssembly>

是还是不是吐血,降级后,VS没有改观看重组件的本子。修改如下:

<dependentAssembly>
  <assemblyIdentity name="EntityFramework.DynamicFilters" publicKeyToken="146423a1b8d60775" culture="neutral" />
  <bindingRedirect oldVersion="0.0.0.0-1.4.11" newVersion="1.4.11" />
</dependentAssembly>

修改达成后,重新编译,启动web项目,本次终于突显久违的登陆界面,预示着本次升级折腾截至了。
图片 24

有了这一次升级折腾经验,下次我想我就不怕了。

1.5. 运行Web项目

重新编译下,Ctrl+F5运作web项目,报错如图2.0。

图片 25

图2.0

按照图示所言,修改web.config中的customErrors节点为Off,<customErrors mode="Off" />。重新运行Web项目,报错如图2.1。

图片 26

图2.1

一看是
EntityFramework.DynamicFilters相关错误,这几个是一个第三方Nuget包,用来帮衬EF举办Linq动态过滤的。猜到一种可能是进步后的DynamicFilters删除了图中的伸张方法,导致出错。到abp官方github上的品种上按照紧要字搜索Issue,如图2.2。

图片 27

图2.2

果真我们跟大家报的同等的错,其中已经交给了缓解方案,需求将DynamicFilterNuget包降级到1.4.11。

右键解决方案,选用【管精晓决方案的Nuget程序包(N)…】,在探寻框中输入
【EntityFramework.DynamicFilters】过滤,并当选依赖的体系,在本子下拉框中挑选1.4.11,点击安装,如图2.3。

图片 28

图2.3

重新编译,再一次启动web项目,依然报错,如图2.4。

图片 29

图2.4

是否快崩溃了,别怕,跟着自己做,让你气死回生。
分别定位到信赖EntityFramework.DynamicFilters组件的类型,修改App.Config或Web.Config,找到以下节点:

<dependentAssembly>
  <assemblyIdentity name="EntityFramework.DynamicFilters" publicKeyToken="146423a1b8d60775" culture="neutral" />
  <bindingRedirect oldVersion="0.0.0.0-2.3.0.0" newVersion="2.3.0.0" />
</dependentAssembly>

是还是不是吐血,降级后,VS没有更改看重组件的本子。修改如下:

<dependentAssembly>
  <assemblyIdentity name="EntityFramework.DynamicFilters" publicKeyToken="146423a1b8d60775" culture="neutral" />
  <bindingRedirect oldVersion="0.0.0.0-1.4.11" newVersion="1.4.11" />
</dependentAssembly>

修改完结后,重新编译,启动web项目,那五遍终于突显久违的登陆界面,预示着本次升级折腾停止了。

图片 30

有了这一次升级折腾经验,下次本人想我就不怕了。

2. 调剂源码

依据作者的官方怎样调节的文档介绍Debuging,所有官方ASP.NET
Boilerplate
nuget包都启用了GitLink。这象征你可以轻松地在项目中调剂Abp.*
nuget包。
不过由于GitLink暂不扶助xproj/project.json格式,所以我们临时用持续GitLink举行调试。

此处此外提供一种调试的法门:

2. 调剂源码

按照小编的法定怎样调节的文档介绍Debuging,所有法定ASP.NET
Boilerplate
nuget包都启用了GitLink。这表示你可以轻松地在档次中调剂Abp.*
nuget包。
可是出于GitLink暂不支持xproj/project.json格式,所以大家临时用持续GitLink进行调节。

此地别的提供一种调试的艺术:

2.1. 下载与本地模板项目版本一样的Abp源码

率先去探视Abp的Releases目录,找到相应版本的Source
code.zip,下载即可。

2.1. 下载与当地模板项目版本相同的Abp源码

首先去看看Abp的Releases目录,找到呼应版本的Source
code.zip,下载即可。

2.2. 还原Nuget包

开辟下载下来的源码解决方案,右键解决方案,接纳还原Nuget包。还原成功后,重新编译项目。
然后把需要调剂的dll文件拷贝到自己的模板项目中的web项目标Bin目录下。

2.2. 还原Nuget包

开辟下载下来的源码解决方案,右键解决方案,拔取还原Nuget包。还原成功后,重新编译项目。
然后把须要调剂的dll文件拷贝到自己的模板项目中的web项目的Bin目录下。

2.3. 附加进度调试

Ctrl+F5运行web项目,然后在源码对应解决方案,选拔【调试–>附加到进度】,从进程列表中,接纳【iisexpress.exe】进度附加即可。打个断点,就可以调节了。

图片 31

2.3. 增大进度调试

Ctrl+F5运作web项目,然后在源码对应解决方案,选取【调试–>附加到进度】,从进程列表中,拔取【iisexpress.exe】进度附加即可。打个断点,就可以调剂了。

图片 32

相关文章