ABP理论学习总目录

一步一步使用ABP框架搭建正式项目系列教程

ABP之Module-Zero学习目录


本篇目录

说明

这一篇文章会汇集所有使用ABP框架(包含Module-zero模块)搭建的项目进行升级时遇到的各种问题。以后只要是遇到问题,经过几番努力,最终找到解决办法,都可以将问题和答案发到群里,通知管理员,我会抽空将你的问题和答案更新到这里(也会包含问题的原因所在),方便后来更多的初学者,让更多人知其然,更知其所以然,也为每个使用ABP做项目的开发者填上不必要的坑。以后这篇博客会经常更新,每次更新都会在问题的后面标明更新时间,这样,更方便阅读和整理。也希望大家将升级的过程中遇到的问题提出来。

升级方法

我们可以将升级分为两部分:

  1. ABP和module-zero(主要是各种dll程序集)。它们可以轻松地更新,因为它们都已发布在了nuget。这里是nuget包的所以列表:
    http://www.cnblogs.com/farb/p/ABPNugetPackage.html
    http://www.cnblogs.com/farb/p/ModuleZeroNugetPackageManagement.html

    新的发布一般都是向后兼容的。如果有重大变化的话,官方会有特别说明的,并且有文档说明如何迁移的。因此,这一部分的更新很容易,只要更新nuget包就可以了。
  2. 前端资源(各种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,那我只需要按上面进行下载即可。

关于使用ABP框架搭建的项目升级时需要注意的问题汇总的更多相关文章

  1. 一步一步使用ABP框架搭建正式项目系列教程之本地化详解

    返回总目录<一步一步使用ABP框架搭建正式项目系列教程> 本篇目录 扯扯本地化 ABP中的本地化 小结 扯扯本地化 本节来说说本地化,也有叫国际化.全球化的,不管怎么个叫法,反正道理都是一 ...

  2. 一步一步使用ABP框架搭建正式项目系列教程

    研究ABP框架好多天了,第一次看到这个框架的名称到现在已经很久了,但由于当时内功有限,看不太懂,所以就只是大概记住了ABP这个名字.最近几天,看到了园友@阳光铭睿的系列ABP教程,又点燃了我内心要研究 ...

  3. ABP框架搭建项目系列教程基础版完结篇

    返回总目录<一步一步使用ABP框架搭建正式项目系列教程> 经过前面十二篇的基础教程,现在终于该做个总结了. 回顾 第一篇,我们建议新手朋友们先通过ABP官网的启动模板生成解决方案,因为这样 ...

  4. NET使用ABP框架搭建项目

    NET使用ABP框架搭建博客项目(一) 有很多学NET开发的小伙伴建项目都比较茫然,我用什么开发?我都使用什么框架?我怎么起名字?种种问题,让一些低等.中等的工程师(甚至是高级工程师)很烦躁. 推荐一 ...

  5. webapi框架搭建-创建项目(二)-以iis为部署环境的配置

    上篇:webapi快速框架搭建-创建项目(一) 在"创建项目(一)"这一篇里已经创建了一个空的项目,但项目上什么都没有,本篇描述如何将webapi配置成部署在iis上. 步骤 用n ...

  6. 如何用ABP框架快速完成项目(面向项目交付编程面向客户编程篇)(1) - 目录

    昨天发表了<如何用ABP框架快速完成项目 - 自动化测试 - 前端angular e2e protractor>后,大家十分热情,几个小时内就收到了不少问题,包括: 对于ui自动化测试这方 ...

  7. 如何用ABP框架快速完成项目 - 自动化测试 - 前端angular e2e protractor

    要想快速完成一个项目, 自动化是很关键很有用的一块. 自动化测试比人工测试快很多. 特别是在回归测试中. 实践证明, 虽然投入了时间在写自动化测试代码上, 但是在回归测试中节省了大量的时间,同时及时发 ...

  8. 如何用ABP框架快速完成项目(4) - 如何正确使用ABP?

    正如我在<如何用ABP框架快速完成项目(2) - 快的定义!>提到的, 很多同学在使用ABP中遇到很多问题, 花了很多时间和精力, 然而从最根本的角度和方向上来看这些问题应该是不存在. 这 ...

  9. 如何用ABP框架快速完成项目(8) - 用ABP一个人快速完成项目(4) - 能自动化就不要手动 - 使用自动化测试(BDD/TDD)

    做为一个程序员, 深深知道计算机自动化的速度是比人手动的速度快的, 所以”快速”完成项目的一个重要武器就是: 能自动化就不要手动.   BDD/TDD有很多优势, 其中之一就是自动化, 我们这节文章先 ...

随机推荐

  1. HTTP Client工具类

    HTTP Client工具类: import org.apache.http.Header;import org.apache.http.HttpEntity;import org.apache.ht ...

  2. MVC拦截器记录操作用户日志

    主要是用于记录用户操作动态, public class OperationAttribute:ActionFilterAttribute { /// <summary> /// 方法名称 ...

  3. CSS浏览器兼容问题总结

    为什么会出现浏览器兼容问题? 由于各大主流浏览器是不同的厂家开发的,所以使用的核心也不相同,架构代码很难重合,就会产生各种各样的bug. IE6中常见的css解析bug 1)默认高度(IE6)部分块元 ...

  4. ActionBarSherlock环境搭建

    1.在官网http://actionbarsherlock.com/下载ActionBarSherlock包解压到. 2.创建自己的Android工程: 3.File -> New ->  ...

  5. 第三次作业——《K米评测》

    第三次作业--<K米评测> 一.调研.评测 上手体验 APP的图标做的不错,一眼就知道和KTV唱歌相关的 点进去就是连接包箱的界面和直播界面,把软件最重要的两个功能展示出来了,一目了然 热 ...

  6. prism4 StockTrader RI 项目分析一些体会2

    prism 对于逻辑复杂的页面,通过建立 controller实现逻辑管理 按着一般的做法就是,各模块的viewmodel import由各模块去实例化(理解有限),但是通过controller实现了 ...

  7. 【Mail】JavaMail介绍及发送邮件(一)

    JavaMail介绍 JavaMail是SUN提供给开发人员在应用程序中实现邮件发送和接收功能而提供的一套标准开发类库,支持常用的邮件协议,如SMTP.POP3.IMAP,开发人员使用JavaMail ...

  8. Windows 终端服务器授权 激活

      一.激活2003终端授权服务器 首先确认是否安装windows组件 添加删除程序——添加删除windows组件 终端服务器的安装就不介绍了,下面说一下激活授权服务器. 1)点击”开始”->” ...

  9. C#实现按键精灵的'找图' '找色' '找字'的功能

    背景:游戏辅助功能通常使用按键精灵编写脚本,按键精灵的最大卖点就是能够找到画面中字,图,色,这对于模拟用户鼠标操作至关重要,这能找到道具,找到血量,实现自动打怪,自动补血,自动买卖道具,博主闲来无聊, ...

  10. Android Sqlite数据库相关——实现将 Sqlite 数据库复制到SD 卡

    确定 sqlite 数据库所在位置(一般在data/data/com.pagename/databases/ 下,其中 com.pagename为当前项目包名) 确定 sqlite 数据库名称,拼接到 ...