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.1. 过滤Abp Nuget包

VS打开消除方案文件,右键消除方案(不是有个别项目),选中【管理搞定方案的Nuget程序包(N)…】,如下图1.1。

图片 1

从图中得以看看,VS智能指示有肆拾3个Nuget包可升级,其中有3个Nuget程序包可统一。看到那个,不要犯了网瘾,就全部翻新合并。
要明了,Nuget程序包是相互依赖的,不肯定最新的就能互相同盟。
故此那三遍,大家保障起见,只升级Abp相关Nuget程序包。
入选【更新】,在物色框中录入Abp进行筛选Abp相关Nuget程序包(一共拾肆个)。

1.2. 更新Abp相关Nuget包

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

图片 3

从图中得以窥见,不仅仅是翻新了Nuget包,看重的连带包也将自动更新。
一定,点击【鲜明】,紧接着会弹出二个【接受许可证】,如图1.4,点击【小编接受】。
图片 4

考察输出窗口,发现VS已经上马下载要立异的Nuget包并安装,如图1.5。

图片 5

因为Abp
V1.4.2已经辅助TypeScript,VS解析到必要设置TypeScript,弹出图1.6所示对话框。

图片 6

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

图片 7

1.3. 编译项目

编译项目,报了一堆错误,如图1.8。
图片 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,安装即可。

图片 9

1.5. 运行Web项目

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

图片 10
安份守己图示所言,修改web.config中的customErrors节点为Off,<customErrors mode="Off" />。重新运营Web项目,报错如图2.1。
图片 11

一看是
EntityFramework.DynamicFilters相关错误,这么些是2个第贰方Nuget包,用来援救EF举行Linq动态过滤的。猜到一种或许是升迁后的DynamicFilters删除了图中的扩充方法,导致出错。到abp官方github上的档次上依照紧要字搜索Issue,如图2.2。
图片 12

果然大家跟我们报的如出一辙的错,其中已经交由了缓解方案,须要将DynamicFilterNuget包降级到1.4.11。

右键解决方案,选用【管理消除方案的Nuget程序包(N)…】,在寻觅框中输入
【EntityFramework.DynamicFilters】过滤,并入选正视的类型,在本子下拉框中采用1.4.11,点击安装,如图2.3。

图片 13

双重编译,再度启航web项目,依旧报错,如图2.4。

图片 14

是还是不是快完蛋了,别怕,跟着本身做,让您气死回生。
独家定位到倚重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项目,这一遍终于显示久违的登陆界面,预示着本次升级折腾甘休了。
图片 15

有了本次升级折腾经验,下次自个儿想小编就不怕了。

2. 调试源码

根据笔者的法定怎么着调节的文档介绍Debuging,全部法定ASP.NET
Boilerplate
nuget包都启用了GitLink。那意味着你可以轻松地在档次中调剂Abp.*
nuget包。
然则出于GitLink暂不支持xproj/project.json格式,所以我们权且用持续GitLink举行调节。

那边别的提供一种调试的格局:

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

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

2.2. 还原Nuget包

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

2.3. 增大进度调试

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

图片 16

相关文章

网站地图xml地图