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. C++中虚继承派生类构造函数的正确写法

    最近工作中某个软件功能出现了退化,追查下来发现是一个类的成员变量没有被正确的初始化.这个问题与C++存在虚继承的情况下派生类构造函数的写法有关.在此说明一下错误发生的原因,希望对更多的人有帮助. 我们 ...

  2. POJ 2010 Moo University - Financial Aid treap

    按第一关键字排序后枚举中位数,就变成了判断“左边前K小的和 + 这个中位数 + 右边前K小的和 <= F",其中维护前K小和可以用treap做到. #include <cstdi ...

  3. 用Action的属性接受参数

    版本, @Override是Java5的元数据,自动加上去的一个标志,告诉你说下面这个方法是从父类/接口 继承过来的,需要你重写一次,这样就可以方便你阅读,也不怕会忘记@Override是伪代码,表示 ...

  4. 怎么用sublime text 3搭建python 的ide

    安装目录的Packages目录下的python文件夹下的Python.sublime-build复制以下内容,保存 {"cmd": ["python", &qu ...

  5. Android 测试Handler的基本使用

    package com.sherlock.app_handler; import java.io.ByteArrayOutputStream; import java.io.InputStream; ...

  6. Selenium2+python 常用函数汇总

    1. driver = webdriver.Chrome()  --新建实例 2.driver.find_element_by_id("username") ---通过标签属性id ...

  7. php中的抽象类(abstract class)和接口(interface)

    一. 抽象类abstract class 1 .抽象类是指在 class 前加了 abstract 关键字且存在抽象方法(在类方法 function 关键字前加了 abstract 关键字)的类. 2 ...

  8. C# 通过身份证查询出生日期

    private int GetAgeBycode(string b_car_code) { string birthday = ""; //处理18位的身份证号码从号码中得到生日和 ...

  9. java excle导出合计字段值

    效果图: 代码实现: 解释: // 四个参数分别是:起始行,起始列,结束行,结束列 sheet.addMergedRegion(new Region(0, (short) (celln + 1), 0 ...

  10. 清除路由器NAT地址转换

    首先当你的NAT网络地址转换成功搭建起来,并且测试过网络通信时,此时NAT地址转换表上面是存在转换信息的,你可以通过在特权模式下输入命令"show ip nat translation&qu ...