OpenKylin上运行Avalonia应用

这篇具有很好参考价值的文章主要介绍了OpenKylin上运行Avalonia应用。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

VS安装Avalonia模版

执行以下命令,安装Avalonia模版(.NET6及之前版本使用--install):

dotnet new install Avalonia.Templates

执行后,会安装如下模版:

模板名                               短名称                     语言     标记
-----------------------------------  -------------------------  -------  -----------------------------------------
Avalonia .NET App                    avalonia.app               [C#],F#  Desktop/Xaml/Avalonia/Windows/Linux/macOS
Avalonia .NET MVVM App               avalonia.mvvm              [C#],F#  Desktop/Xaml/Avalonia/Windows/Linux/macOS
Avalonia Cross Platform Application  avalonia.xplat             [C#],F#  Desktop/Xaml/Avalonia/Web/Mobile
Avalonia Resource Dictionary         avalonia.resource                   Desktop/Xaml/Avalonia/Windows/Linux/macOS
Avalonia Styles                      avalonia.styles                     Desktop/Xaml/Avalonia/Windows/Linux/macOS
Avalonia TemplatedControl            avalonia.templatedcontrol  [C#],F#  Desktop/Xaml/Avalonia/Windows/Linux/macOS
Avalonia UserControl                 avalonia.usercontrol       [C#],F#  Desktop/Xaml/Avalonia/Windows/Linux/macOS
Avalonia Window                      avalonia.window            [C#],F#  Desktop/Xaml/Avalonia/Windows/Linux/macOS

创建Avalonia应用并发布

使用如下命令创建一个Avalonia MVVM应用:

dotnet new avalonia.mvvm

将程序发布到linux-x64平台,publish参数参考链接:

dotnet publish -r linux-x64 --self-contained

OpenKylin安装.NET运行时

安装aspnetcore运行时即可,aspnetcore运行时包含了.NET运行时,安装包我使用的ubuntu 18.04版本的。安装教程参考微软官方文档。

wget https://packages.microsoft.com/config/ubuntu/18.04/packages-microsoft-prod.deb -O packages-microsoft-prod.deb
sudo dpkg -i packages-microsoft-prod.deb
rm packages-microsoft-prod.deb
sudo apt update
sudo apt install aspnetcore-runtime-6.0

在OpenKylin上运行应用

首先把发布的publish文件夹压缩后下载到OpenKylin上,我使用的林大佬这篇文章中提供的办法。使用dotnet serve开启一个文件服务器:

dotnet tool install --global dotnet-serve
dotnet serve -p 1007 -a 0.0.0.0

解压后进入文件所在目录,修改下执行文件的权限,执行文件为何项目名称同名的不带后缀的文件:

chmod 777 ./执行文件

然后运行该文件:

./执行文件

然后就报错了...Default font family name can't be null or empty,这个问题讨论很久了,参考这个Issue。

默认字体问题处理

从上述Issue中,我看到了几个解决方案,首先,注册自定义字体管理器在Avalonia11中不可用了,因为IFontManagerImpl接口改成Internal了。我尝试的可行的解决方案有如下几个:

方法1:修改环境变量LANG的值:export LANG=en_US.UTF-8

方法2:设置系统语言为英语;

方法3:启动应用时使用命令:LC_ALL=C ./执行文件

方法4:Program.cs的BuildAvaloniaApp()方法中指定Linux系统的默认字体名;

以上几个办法均可行,我采用的第四个方法,OpenKylin的默认字体可以到设置中查看:

public static AppBuilder BuildAvaloniaApp()
{
    FontManagerOptions options = new();
    if (OperatingSystem.IsLinux())
    {
        options.DefaultFamilyName = "Noto Sans CJK SC";
    }
    else if (OperatingSystem.IsMacOS())
    {
        options.DefaultFamilyName = "<macOS Default Font Family Name Here>";
    }
    // No need to set default for Windows
    return AppBuilder.Configure<App>()
                .UsePlatformDetect()
                .LogToTrace()
                .UseReactiveUI()
                .With(options);
}

修改程序后,再次发布并在OpenKylin上执行,就成功了。我试了下Avalonia的开源项目Core2D,也是可以的:
OpenKylin上运行Avalonia应用文章来源地址https://www.toymoban.com/news/detail-649115.html

到了这里,关于OpenKylin上运行Avalonia应用的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • openKylin系统安装指南

    openKylin(开放麒麟) 社区是由基础软硬件企业、非营利性组织、社团组织、高等院校、科研机构和个人开发者共同创立的一个开源社区,旨在以“共创”为核心、以“开源聚力、共创未来”为社区理念,在开源、自愿、平等、协作的基础上,通过开源、开放的方式与企业构建

    2024年02月05日
    浏览(35)
  • 麒麟系统—— openKylin 安装 Nginx

    Nginx 是一款高性能的 HTTP 和反向代理服务器,广泛应用于 Web 服务器领域。本文将分享如何在麒麟系统(openKylin)上安装 Nginx 1.24.0 版本。 Nginx 简要概况: 特点/用途 描述 高性能 被设计为高性能和高并发的Web服务器,能够有效处理大量并发连接。 反向代理 可以作为反向代理

    2024年04月09日
    浏览(73)
  • 如何在 openKylin 上安装 ONLYOFFICE 文档?

    文章作者:ajun ONLYOFFICE 文档 是一款全面的在线办公工具,提供了文本文档、电子表格和演示文稿的查看和编辑功能。它高度兼容微软 Office 格式,包括 .docx、.xlsx 和 .pptx 等文件格式,并支持实时协作编辑,使团队成员能够同时在同一文档上进行实时协作。   主要功能 文档编

    2024年01月23日
    浏览(41)
  • 在虚拟机VMware上安装OpenKylin开源操作系统

    今天我们一下学习下开放麒麟系统的安装。也是我的开源项目在OpenKylin上运行的实践。 希望通过该项目了解和学习Avalonia开发的朋友可以在我的github上拉取代码,同时希望大家多多点点star。 https://github.com/raokun/TerraMours.Chat.Ava 官方ISO下载地址 下载地址 如果安装在Windows操作系

    2024年02月16日
    浏览(67)
  • 麒麟系统—— openKylin 安装 git 源代码管理工具

    麒麟系统(openKylin)是我国自主研发的桌面操作系统,为了更好地促进开源社区的协作和创新发展,openKylin基于开源理念,为开发者提供了便捷的开发环境和丰富的开源资源。在麒麟系统中安装Git源代码管理工具,可以助力开发者高效地进行代码的版本控制、协作开发和项目

    2024年02月22日
    浏览(67)
  • 麒麟系统—— openKylin 安装到虚拟机以及开放SSH通过工具连接

    随着开源技术的不断进步,国产操作系统的发展也日新月异。麒麟系统,尤其是 openKylin 版本,以其开源、安全、稳定的特性,逐渐成为了一个备受关注的桌面操作系统。本文将分享如何在虚拟机中安装 openKylin ,并利用 FinalShell 工具实现 Windows 与麒麟系统之间的文件传输。

    2024年04月16日
    浏览(34)
  • Avalonia项目打包安装包

    要将 Avalonia 项目打包成安装包,你可以使用 Avalonia 发布工具来完成 在你的 Avalonia 项目中,创建一个发布配置文件。在项目文件夹中创建一个名为 publish.xml 的文件,并添加以下内容: 其中, -r 参数表示发布目标平台, win-x64 代表 Windows 64 位。你可以根据需要替换为其他平台

    2024年02月16日
    浏览(39)
  • centos7、ubuntu、openkylin、ky10Server等系统docker安装mysql、redis

    默认密码都是 123456 mysql确认    redis确认    

    2024年02月13日
    浏览(56)
  • 开源麒麟Linux系统openKylin-1.0 内核是debian 安装openssh-server及配置root远程登陆

    原因:服务器安装完开源麒麟Linux系统openKylin-1.0后,换使用时的键鼠很烦。 目标:Debian安装openssh-server,原系统安装Xshell,并配置实现root远程登录。 记录下并供大家参考! #检查 如果安装会显示 如果显示一堆的关联库包,表示没有安装 #安装 个人习惯不加“-y”,看一下都

    2024年02月14日
    浏览(54)
  • Net跨平台UI框架Avalonia入门-安装和使用

    Avalonia UI是是Net的跨平台UI框架,支持 Windows、Linux、iOS 和 Android,与Net其他UI框架相比,如WPF(Windows平台)、MAUI跨平台控件(Android、iOS、macOS 和 Windows),主要优势是支持Linux。在国产化的需求下,对于C#开发的程序员,Avalonia适合用来开发Linux的桌面客户端。 v11版本已经发布

    2024年02月05日
    浏览(82)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包