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. xml的解析与创建——bing到youdao导入文件的转换

    首先是为了解决一个问题:如何将必应单词本中记录的单词转入到有道词典中去.实际上,必应词典可以导出xml文件,但是该文件有道词典无法解析.这里涉及到xml的解析和创建了. 代码如下: import ja ...

  2. 兼容ie8 rgba()用法

    今天遇到了一个问题,要在一个页面中设置一个半透明的白色div.这个貌似不是难题,只需要给这个div设置如下的属性即可: background: rgba(255,255,255,.1); 但是要兼容到 ...

  3. create()创建的控件不能映射消息函数的解决

    有时,使用create()在运行时创建的控件不能将消息映射到父窗口内,此时需要使用消息转发的机制,主要原理:注册一个全局的消息,针对接收消息的控件编写继承类,在该继承类中响应消息,并将已注册的全局消息 ...

  4. win10+vs2015+opencv3.0 x86/x64配置(debug+release)

    最近做一些图像识别的项目,用到了opencv,opencv3.1没有x86版本,所以只能用opencv3.0来完成,下面介绍一下在window10下vs2015 配置opencv3.0的过程(x86和 ...

  5. 交换机的link-dependency链路依赖功能

    在生产环境中,如果各主机连接到交换机的1-16端口,交换机的18端口上联到外部网络,如果此时交换机的18端口断掉,在主机端网卡仍然有连接,对于一些网络的配置可能就感知不到外部连接的消失,会有问题(如E ...

  6. ubuntu 12.10 sourcelist软件更新源列表(zz)

        ubuntu 12.10正式版已经发布了,国内各大开源软件源也陆续更新了资源.今天分享一下ubuntu 12.10 软件更新源列表. 首先,备份一下ubuntu 12.04 原来的源地址列表文 ...

  7. android download manager

    下载管理器,有个哥们写得很好了http://www.trinea.cn/android/android-downloadmanager/ 下载后台通知 下载管理器内容交互 最近对内部业务逻辑整理了一下 ...

  8. Spring 笔记

    依赖注入(Dependency Injection DI) 通过依赖注入,对象的依赖关系将由系统中负责协调对象的第三方组件在创建对象的时候进行设定.(p6 spring之旅) 在创建类的时候需要依赖的 ...

  9. 远程访问MySQL遇到的一些问题

    一.access deny GRANT ALL PRIVILEGES ON *.* TO '用户名'@'IP地址' IDENTIFIED BY '密码' with grant option;

  10. javascript input type=file 文件上传

    在JS中,input type=file 是常用的文件上传API,但感觉W3C说的不是很清楚,同时网上的资料也比较乱. 由于做微信开发,所以网页打算尽量少用第三方库或者插件,以加快网页的加载速度.因为 ...