本篇目录
- 说明
- 升级方法
- 问题_01:Log4Net导致编译不成功 2015/12/18更新
- 问题_02:升级V0.7.5.0 Abp等程序集后需要改的几个类 2015/12/18 更新
- 问题_03:升级V0.8.0.0~V0.8.2.0 Abp等程序集时需要注意的问题 2016/3/19更新
说明
这一篇文章会汇集所有使用ABP框架(包含Module-zero模块)搭建的项目进行升级时遇到的各种问题。以后只要是遇到问题,经过几番努力,最终找到解决办法,都可以将问题和答案发到群里,通知管理员,我会抽空将你的问题和答案更新到这里(也会包含问题的原因所在),方便后来更多的初学者,让更多人知其然,更知其所以然,也为每个使用ABP做项目的开发者填上不必要的坑。以后这篇博客会经常更新,每次更新都会在问题的后面标明更新时间,这样,更方便阅读和整理。也希望大家将升级的过程中遇到的问题提出来。
升级方法
我们可以将升级分为两部分:
- ABP和module-zero(主要是各种dll程序集)。它们可以轻松地更新,因为它们都已发布在了nuget。这里是nuget包的所以列表:
http://www.cnblogs.com/farb/p/ABPNugetPackage.html
http://www.cnblogs.com/farb/p/ModuleZeroNugetPackageManagement.html
新的发布一般都是向后兼容的。如果有重大变化的话,官方会有特别说明的,并且有文档说明如何迁移的。因此,这一部分的更新很容易,只要更新nuget包就可以了。 - 前端资源(各种js,css文件)。如果你用的是ABP自带的静态资源,那么你也可以更新这些包。如果你有自己的UI,那么只需要考虑第一点。
问题_01:Log4Net导致编译不成功
有园友在使用ABP的时候,打开Nuget包管理器时发现有很多包可以更新了,由于数量很多,直接选择了全部更新,待这些包安装完成后,结果编译的时候,报下面的错误:
原因:Castle Windsor只支持log4net v1.2.10,因为该版本使用了一个不同的key进行签名的,而升级到此版本以上会是一个重大变化,所以官方至今还没更新
解决办法:
更新程序集的时候不要更新log4net,就保持它是v1.2.10,直到官方给出更新再更新。
问题_02:升级V0.7.5.0 Abp等程序集后需要改的几个类
之前使用ABP官网创建的解决方案,内置了v0.7.1版本的以Abp为前缀的程序集(如Abp.dll,Abp.Zero等),今天升级了这些dll程序集之后,在生成解决方案时,遇到了如截图所示的问题:
原因:新版本中的Abp.Zero.dll中的基类AbpUser,AbpRole等类的构造函数参数发生了变化。
解决办法:
在错误列表中双击提示的错误,定位到相应的代码区,手动修改新版本中的几个构造函数发生变化的类。将光标放到base方法上,或者直接查看定义,就可以看到需要传入哪几个参数了。按照要求的参数类型传入参数即可。
问题_03:升级V0.8.0.0~V0.8.2.0 Abp等程序集时需要注意的问题
将程序集升级到V0.8.0.0~V0.8.2.0时,打开解决方案时可能会出现下面的问题:
原因:ABP框架在V0.8.0.0版本将目标框架升级到了.net framework 4.6.1,出现这个弹窗说明你的计算机上没有安装该框架。
解决办法:
打开.Net目标平台页面,选择相应的目标平台下载即可。
比如,我用的是VS 2013,那我只需要按上面进行下载即可。