Avalonia項目在OpenKylin運行踩坑
Avalonia項目在OpenKylin運行踩坑
本篇博客記錄OpenKylin開源操作系統(tǒng)中運行Avalonia項目遇到的各種問題,會一直更新,最新的內(nèi)容請點擊文末的鏈接跳轉(zhuǎn)到我的博客原文地址查看。
1.Default font family name can’t be null or empty
報錯內(nèi)容:
報錯分析:
根據(jù)報錯信息,應(yīng)用程序在使用 Avalonia UI 框架時遇到了問題。報錯信息表明默認(rèn)字體系列名稱為空或為空字符串。
可以通過以下命令查看系統(tǒng)已安裝的字體列表:
重點issue
這是一個很久的問題,參考這個issue
https://github.com/AvaloniaUI/Avalonia/issues/4427
嘗試第一個解決方案(0.10版本及以前有效)
網(wǎng)上的解決方案,針對0.10版本及以前有效?解決方案一
由于 11.0.0 更改了 Avalonia.Skia.GlyphTypefaceImpl 的訪問級別,從公共訪問級別更改為內(nèi)部訪問級別,因此上述實現(xiàn) Avalonia.Platform.IFontManagerImpl 的示例代碼現(xiàn)在均不可用。
V11版本解決方案
1.修改環(huán)境變量?export US.UTF-8
https://github.com/AvaloniaUI/Avalonia/issues/12140
將環(huán)境變量設(shè)置?export US.UTF-8

1.打開終端。
2.運行以下命令來查看當(dāng)前的?LANG
?環(huán)境變量的值:
3.如果當(dāng)前的?LANG
?值不是?en_US.UTF-8
,就需要設(shè)置它為?en_US.UTF-8
??梢允褂靡韵旅顏碓O(shè)置:
4.使用?echo
?命令驗證環(huán)境變量是否已更改:
5.如果您希望永久設(shè)置?LANG
?變量,可以將上述命令添加到您的 shell 配置文件中(如?~/.bashrc
、~/.bash_profile
?等),這樣每次啟動終端時都會自動設(shè)置。
代碼中修改掉linux不支持的字體
將字體修改后
linux中沒有宋體,會自動選擇后面的國標(biāo)黑體
成果展示

2.Cannot access a disposed context instance
報錯記錄
原因
在 Linux 環(huán)境下發(fā)生此錯誤可能是因為 Linux 環(huán)境的異步處理方式與 Windows 環(huán)境有所不同。

解決方案
去掉using
然后,在其他需要使用?ChatDbcontext
?的地方,使用?VMLocator.ChatDbcontext
?來獲取上下文實例。確保不要在其他地方使用?using
?語句或調(diào)用上下文實例的?Dispose
?方法。
3.openkylin會自動切換到平板模式
而且切換不回來,程序點不了

解決方案
可以通過桌面?zhèn)冗厵谶M(jìn)行PC/平板模式切換,喚出側(cè)邊欄的方法有:
點擊任務(wù)欄上的側(cè)邊欄圖標(biāo);
快捷鍵?super + A;----super對應(yīng)Windows鍵
通過觸摸手勢,在屏幕右邊緣向左短滑。
閱讀如遇樣式問題,請前往個人博客瀏覽:?https://www.raokun.top
擁抱ChatGPT:https://ai.terramours.site
開源項目地址:https://github.com/raokun/TerraMours.Chat.Ava