本篇目錄
- 說明
- 升級方法
- 問題_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,那我只需要按上面進行下載即可。