.Net Core發布到Linux下驗證碼失效處理方案詳解
.net Core 部署到在 CentOS7下后,驗證碼打不開,報The type initializer for 'Gdip' threw an exception.異常

運行含圖片處理時發生異常:
The type initializer for 'Gdip' threw an exception.
問題分析:
驗證碼一般我們是通過System.Drawing.Common 組件提供對GDI+圖形功能的訪問來實現。它是依賴于GDI+的,在windows平臺下沒有任何問題,本身就已經支持,Linux上沒有GDI+,那么在Linux上如何使用GDI+呢?Mono 團隊使用C語言實現了GDI+接口,提供對非Windows系統的GDI+接口訪問能力(實質就是模擬GDI+,與系統圖像接口對接),這個就是 libgdiplus。
解決辦法:
一、安裝一下包:
yum -y install autoconf automake libtool
yum -y install freetype-devel fontconfig libXft-devel
yum -y install libjpeg-turbo-devel libpng-devel giflib-devel libtiff-devel libexif-devel
yum -y install glib2-devel cairo-devel
yum -y install mlocate
git clone https://github.com/mono/libgdiplus
cd libgdiplus
./autogen.sh
make
make install
1、yum -y install autoconf automake libtool

2、yum -y install freetype-devel fontconfig libXft-devel

3、yum -y install libjpeg-turbo-devel libpng-devel giflib-devel libtiff-devel libexif-devel

4、yum -y install glib2-devel cairo-devel

5、yum -y install mlocate

6、git clone https://github.com/mono/libgdiplus

7、cd libgdiplus

8、./autogen.sh

9、make

10、make install

二、創建符號鏈接:
ln -s /usr/local/lib/libgdiplus.so /usr/lib64/libgdiplus.so
ln -s /usr/local/lib/libgdiplus.so /usr/libgdiplus.so

三、更新一下庫:
updatedb
四、重新啟動.NET Core應用

五、重新登錄,即可看到驗證碼了。

六、登錄成功


參考文章:
.NET Core部署到linux(CentOS)最全解決方案,常規篇
.NET Core部署到linux(CentOS)最全解決方案,進階篇(Supervisor+Nginx)
.NET Core部署到linux(CentOS)最全解決方案,高階篇(Docker+Nginx 或 Jexus)
.NET Core部署到linux(CentOS)最全解決方案,入魔篇(使用Docker+Jenkins實現持續集成、自動化部署)
一網打盡,一文講通虛擬機VirtualBox及Linux使用
全新跨平臺版本.NET敏捷開發框架-RDIFramework.NET5.0震撼發布
RDIFramework.NET Web版報表管理-助力企業高效智能圖表
RDIFramework.NET敏捷開發框架助力企業BPM業務流程系統的開發與落地
通過SignalR技術整合即時通訊(IM)在.NET敏捷開發框架中落地
RDIFramework.NET WinForm版新增報表管理功能模塊
RDIFramework.NET WinForm版新增通知公告、系統新聞模塊
RDIFramework.NET — 基于.NET的快速信息化系統開發框架 — 系列目錄
RDIFramework.NET敏捷開發框架 ━ 工作流程組件介紹
一文講通.NET Core部署到Windows IIS最全解決方案
一路走來數個年頭,感謝RDIFramework.NET框架的支持者與使用者,大家可以通過下面的地址了解詳情。
RDIFramework.NET官方網站:http://www.rdiframework.net/
RDIFramework.NET官方博客:http://blog.rdiframework.net/
特別說明,框架相關的技術文章請以官方網站為準,歡迎大家收藏!
RDIFramework.NET框架由海南國思軟件科技有限公司專業團隊長期打造、一直在更新、一直在升級,請放心使用!
歡迎關注RDIFramework.NET框架官方微信公眾號(微信號:guosisoft),及時了解最新動態。
使用微信掃描二維碼立即關注

作者:
RDIF
出處:
http://www.rzrgm.cn/huyong/
Email:
406590790@qq.com
QQ:
406590790
微信:
13005007127(同手機號)
框架官網:
http://www.guosisoft.com/
http://www.rdiframework.net/
框架其他博客:
http://blog.csdn.net/chinahuyong
http://www.rzrgm.cn/huyong
國思RDIF開發框架
,
給用戶和開發者最佳的.Net框架平臺方案,為企業快速構建跨平臺、企業級的應用提供強大支持。
關于作者:系統架構師、信息系統項目管理師、DBA。專注于微軟平臺項目架構、管理和企業解決方案,多年項目開發與管理經驗,曾多次組織并開發多個大型項目,在面向對象、面向服務以及數據庫領域有一定的造詣?,F主要從事基于
RDIF
框架的技術開發、咨詢工作,主要服務于金融、醫療衛生、鐵路、電信、物流、物聯網、制造、零售等行業。
如有問題或建議,請多多賜教!
本文版權歸作者和CNBLOGS博客共有,歡迎轉載,但未經作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文連接,如有問題,可以通過微信、郵箱、QQ等聯系我,非常感謝。

浙公網安備 33010602011771號