翻譯|行業資訊|編輯:龔雪|2022-04-29 14:33:02.160|閱讀 268 次
概述:本文主要介紹DevExpress跨平臺產品中的一些重大變化及解決方案,新鮮資訊搶先看哦!
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
本文詳細介紹DevExpress跨平臺產品中與System.Drawing.Common 相關的重大變化的解決方案,由于部署在非 Windows 機器上的應用程序數量不斷增加,因此這項任務是 DevExpress 多個開發團隊的高度優先事項。
Microsoft將歸結為.NET 6及更高版本中的Windows特定庫,請訪問以下頁面并查看更改原因部分以獲取更多信息:
在 .NET 6 中,在非 Windows 操作系統上使用 System.Drawing.Common 庫會產生編譯時警告并引發和 異常。 為了讓軟件開發人員有時間遷移到更現代的圖形庫,Microsoft 引入了運行時配置開關。 您可以在 runtimeconfig.json 文件中將 System.Drawing.EnableUnixSupport 選項設置為 true 以啟用對非 Windows 平臺的支持并避免運行時異常:
{
"configProperties": {
"System.Drawing.EnableUnixSupport": true
}
}
但是,.NET 7 及更高版本將不支持此運行時配置開關,并且所有在非 Windows 平臺上使用 Sytem.Drawing.Common API 的應用程序都會拋出 PlatformNotSupportedException。
此重大更改影響以下 DevExpress 跨平臺產品 - 使用 System.Drawing.Common 作為渲染/文本測量引擎的組件:
由于在所有受支持的非 Windows 環境(Linux 和 macOS、Azure 應用服務和 Docker 容器)中維護組件功能十分重要,技術團隊計劃在 2022 年更新產品來消除對 System.Drawing.Common 的依賴并實現 一個自定義的跨平臺渲染引擎。
在即將發布的 v22.1 周期中引入新的 DevExpress.Drawing 程序集,此程序集將包含非 Windows 系統(圖像、字體、筆、畫筆等)不支持的所有 System.Drawing 類的自定義實現。在 v22.2 中,官方技術團隊計劃使用基于 SkiaSharp 的跨平臺渲染引擎發布另一個程序集它是一個穩定、功能齊全的開源庫,完全符合要求。一旦有新的程序集可用,您需要將它們合并到您的項目中。(如果您開發特定于 Windows 的應用程序,將能夠使用項目轉換器工具將項目升級到較新的版本并添加必要的程序集引用/更新 NuGet 包)。
在 2022 年下半年,官方技術團隊還計劃修改公共API,用自定義的 DevExpress.Drawing 對應物替換 System.Drawing 對象,您將需要更新代碼來使用這些新的 API。
DevExpress Universal Subscription擁有.NET開發需要的所有平臺控件,包含600多個UI控件、報表平臺、DevExpress Dashboard eXpressApp 框架、適用于 Visual Studio的CodeRush等一系列輔助工具。
更多產品正版授權詳情及優惠,歡迎咨詢
DevExpress技術交流群6:600715373 歡迎一起進群討論
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉載自:慧都網