首页 > 系统相关 >C# .NET core Avalonia 11.0版本,发布linux记录

C# .NET core Avalonia 11.0版本,发布linux记录

时间:2023-07-24 13:44:49浏览次数:39  
标签:core AppBuilder C# 虚拟机 11.0 using options Avalonia

.net core 7.0+centos 7.0

cetnos目前运行在hyper V虚拟机里

 

虚拟机部署的注意事项

1 需要配置网络环境, 

 确保在同一局域网下

如果sftp无法连接

ctrl+shift+f2切换到命令行,开启22端口

iptables -I INPUT -p  tcp --dport 22 -j ACCEPT

 

同时虚拟机网络也要正确配置.

 

 

 

 

发布流程如下

 

1 发布项目,选择目标运行时为linux-X64,部署模式为独立,这样就不需要安装.net core运行环境,此处可根据实际情况自行调整下

 如图设置即可

 

发布后,使用Xftp上传

以上传到/usr/local/bin/Test2 目录下为例

 3

右击目标运行文件,通常为项目名,没有后缀名

 选择可执行

4

打开kconsole,cd切换到目标路径

 执行 ./AvaloniaTest ,此处AvaloniaTest 为目标文件名

项目正常运行

 

 

常见问题:

1 default font familyname can't be null

提示缺少默认字体,需要指定字体

参考github上的链接,设置默认字体后依然报错

https://github.com/AvaloniaUI/Avalonia/issues/4427

using Avalonia;
using Avalonia.Media;
using Avalonia.ReactiveUI;
using System;

namespace ExampleApp
{
    internal class Program
    {
        [STAThread]
        public static void Main(string[] args) => BuildAvaloniaApp()
                .StartWithClassicDesktopLifetime(args);

        public static AppBuilder BuildAvaloniaApp()
        {
            FontManagerOptions options = new();
            if (OperatingSystem.IsLinux())
            {
                options.DefaultFamilyName = "<Linux Default Font Family Name Here>";
            }
            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);
        }
    }
}

  

  FontFamily = new FontFamily("avares://AvaloniaTest/Assets/Fonts/微软雅黑.ttf#Microsoft YaHei")

  


不行,报错为

could not create glyphtypeface

如果报这个错误,参考问题2

 

 2 could not create glyphtypeface 拷贝windows系统自带的微软雅黑到如下路径
/usr/share/fonts/chinese/msyh.ttc

 运行fc-cache -f -v 命令,更新字体缓存

fc-cache -f -v

  修改Program.cs

 public static AppBuilder BuildAvaloniaApp()
    {
FontManagerOptions options = new();
  options.DefaultFamilyName = "Microsoft YaHei";
        return AppBuilder.Configure<App>()
            .UsePlatformDetect()
            .WithInterFont()
            .LogToTrace()
            .UseReactiveUI().With(options);

    }

  重新发布,即可.

标签:core,AppBuilder,C#,虚拟机,11.0,using,options,Avalonia
From: https://www.cnblogs.com/MarsPanda/p/17577006.html

相关文章

  • m基于OFDM+QPSK和LDPC编译码通信链路matlab性能仿真,包括Costas载波同步和gardner定时
    1.算法仿真效果matlab2013b仿真结果如下:      2.算法涉及理论知识概要        基于OFDM+QPSK和LDPC编码的通信链路是一种常用的数字通信系统,用于实现高速、可靠的数据传输。该系统结合了正交频分复用(OFDM)、四相移键控(QPSK)调制和低密度奇偶校验(LDPC)编码......
  • m基于DVB-T的COFDM+16QAM+LDPC码通信链路matlab性能仿真,包括载波同步,定时同步,信道
    1.算法仿真效果matlab2022a仿真结果如下: 包括小数倍及整数倍载波同步,粗及细定时同步     2.算法涉及理论知识概要        基于DVB-T的COFDM+16QAM+LDPC码通信链路是一种常用的数字视频广播系统,用于实现高效的传输和接收。该系统结合了正交频分复用(CO......
  • 1.Docker基础及自动安装
    docker的介绍和基础操作docker单机容器dockercompose单机多个容器k8s多机多个容器container即容器,集装箱docker就是搬运集装的码头工人,管理容器的管理工具Docker的组成:Docker主机(Host):一个物理机或虚拟机,用于运行Docker服务进程和容器,也称为宿主机,node节点Docker......
  • CTFer成长记录——CTF之Web专题·bugku-eval
    一、题目链接https://ctf.bugku.com/challenges/detail/id/75.html?id=75二、解法步骤  打开网页是一段php代码,其中include"flag.php"提示可能有文件包含漏洞,接着使用了eval函数,那么可能存在命令执行漏洞。    先用system('ls')命令看看:?hello=system('ls'):......
  • CTFer成长记录——CTF之Web专题·bugku-Simple_SSTI_2
    一、题目链接https://ctf.bugku.com/challenges/detail/id/203.html二、解法步骤  题目是SSTI,也就是服务器模板注入,页面提示我们需要传递一个flag参数。  由于是模板,可以传flag={{config}}看看:显示说明这里存在命令执行的漏洞,查询资料发现此处可以执......
  • 「题解」Codeforces Round 887 (Div. 2)
    A.DesortingProblem题目Sol&Code若序列一开始无序答案为\(0\)若有序即\(a_1\leqa_2\leq\dots\leqa_n\)。若想让\(a_i>a_j(i<j)\),操作次数与两数差值\(d(d=a_j-a_i)\)相关为\(\lfloor\dfrac{d}{2}\rfloor+1\),差值越小操作次数越少,故枚举相邻两数取最少......
  • vs2022使用cocos2d-x4.0创建新项目
    cocos源码编译方法:cocos2d-x-4.0.zip解压到如:E:\cocos2d-x-4.0, 进入目录运行下setup.py设置cocos环境变量(这个要python2.x,要先安装python)创建个目录,如win32-build,进入win32-build,运行cmd,然后再运行cmake(cmake后面..表示运行上一级目录的cmake脚本)cmake..-G"Vi......
  • .net core 解析Html辅助类
    .NETCore解析HTML辅助类实现流程为了实现.NETCore解析HTML的辅助类,我们需要按照以下步骤进行操作:步骤描述1安装必要的NuGet包2创建HTML解析类3实现解析HTML的方法下面我们来看具体的实现步骤和每一步需要做的事情。1.安装必要的NuGet包首先,我们需要......
  • .net core razor发送邮件模板
    .NETCoreRazor发送邮件模板实现步骤概述在本文中,我将指导你如何在.NETCoreRazor项目中实现发送邮件模板。我们将使用.NETCore的SmtpClient类和Razor模板引擎来创建和发送包含动态内容的电子邮件。步骤步骤描述1引入必要的命名空间2创建Razor视图和模型3......
  • .net core mvc 发布iis
    如何在IIS中发布.NETCoreMVC应用简介在本文中,我将向你展示如何将你的.NETCoreMVC应用程序发布到IIS服务器上。这将允许你通过IIS提供你的应用程序,并使用IIS的功能和性能优势。下面是整个过程的步骤概览:准备工作创建发布配置文件生成发布包设置IIS部署应用程序步骤详......