.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),及時瞭解最新動態。
使用微信掃描二維碼立即關注