文章分類/

Infragistics|Ignite UI for Blazor|Blazor Excel 庫 – Blazor Server 中的執行平台支持

296 瀏覽人次
2023-07-17 更新

infragistics log

平台兼容性

使用 Blazor Excel 庫的 Blazor Server 應用程序的執行環境 (OS) 具有以下要求,具體取決於 Blazor Server
應用程序的目標框架:

目標框架 視窗 非 Windows 操作系統(Linux、macOS)
.NET核心3.1 ✅ 有效 ✅ 有效
.NET 5.0 ✅ 有效 ✅ 有效
.NET 6.0 ✅ 有效 (無需額外配置)🚫不工作
.NET 7.0及以上版本 ✅ 有效 🚫無法操作_

在非 Windows 操作系統上運行的 .NET 6.0 Blazor Server 應用程序中調用 Blazor Excel
庫的函數會導致System.TypeInitializationException異常(System.PlatformNotSupportedException 作為內部異常),並且無法使用 Blazor Excel
庫。


背景

此行為是由於Blazor Excel 庫所依賴的 System.Drawing.Common包僅在 .NET 6.0 以後的 Windows 操作系統上受支持。

來源:https
://docs.microsoft.com/ja-jp/dotnet/core/compatibility/core-libraries/6.0/system-drawing-common-windows-only

解決方法

為了能夠在 Windows 以外的操作系統上運行調用 Blazor Excel 庫功能的 .NET 6.0 Blazor Server 應用程序,即使用
System.Drawing.Common 包的 .NET 6.0 ASP.NET Core 應用程序,需要以下內容可以通過將JSON
文件放置在文件名“runtimeconfig.template.json”的項目文件夾中並構建它來實現。

  {     "configProperties": {       "System.Drawing.EnableUnixSupport": true     }   }   


補充

在 Linux 上運行時,可能會出現 System.TypeInitializationException 異常,並顯示“System.DllNotFoundException:無法加載共享庫“libgdiplus”或其依賴項之一。”作為內部異常。 在這種情況下,請在您的操作系統上安裝 libgdiplus(以下是基於 Debian 的包管理器的示例)。

sudo apt-get install libgdiplus


很重要的一點

從 .NET 6.0 開始,非 Windows 操作系統上出現的 System.Drawing.Common 包中的錯誤將不會得到修復。

此外,此解決方法是作為寬限期提供的,直到您遷移到較新的庫為止。 上述設置將在計劃於 2022 年 11 月發布的 .NET 7 中被禁用。換句話說,在 Windows 以外的操作系統上調用 .NET 7 及更高版本上的 System.Drawing.Common 包將是不可能的。

快速跳轉目錄

✦ 群昱 AccessSoft 你的全面軟體解決方案 ✦

身為全球眾多知名軟體在台灣合作夥伴,歡迎諮詢你需要的軟體服務!

Picture of 軟體專家
軟體專家

群昱作為全球知名軟體推薦合作夥伴,致力於提供更多軟體解決方案給你!

更多軟體新知

立即詢價

請留下完整資訊,以便我們提供精確的服務內容給你。

詢價資訊