当前位置: 首页 > news >正文

山西太原网站制作网络推广专员所需知识

山西太原网站制作,网络推广专员所需知识,h5制作平台是什么意思,织梦响应式茶叶网站一、openKylin简介 openKylin(开放麒麟) 社区是在开源、自愿、平等和协作的基础上,由基础软硬件企业、非营利性组织、社团组织、高等院校、科研机构和个人开发者共同创立的一个开源社区,致力于通过开源、开放的社区合作&#xff…

一、openKylin简介

openKylin(开放麒麟) 社区是在开源、自愿、平等和协作的基础上,由基础软硬件企业、非营利性组织、社团组织、高等院校、科研机构和个人开发者共同创立的一个开源社区,致力于通过开源、开放的社区合作,构建桌面操作系统开源社区,推动Linux开源技术及其软硬件生态繁荣发展。

“开放麒麟”(openKylin)是中国首个桌面操作系统开发者平台,由国家工业信息安全发展研究中心等单位联合成立,通过开放操作系统源代码的方式打造具有自主创新技术的开源桌面操作系统。

系统镜像下载地址:https://www.openkylin.top/downloads/index-cn.html

二、Avalonia简介(https://avaloniaui.net/)

Avalonia是一个跨平台的.NET框架,用于构建漂亮、现代的图形用户界面(GUI)。

使用Avalonia,您可以从单个代码库创建适用于Windows、macOS、 Linux、iOS、Android和Web Assembly的原生应用程序。

Avalonia兼容所有支持.NET Standard 2.0的平台。

 Avalonia官方支持下列平台:

  •  Windows 8 及更高版本(虽然它也能在Windows 7上正常工作)

  •  macOS High Sierra 10.13 及更高版本

在Linux上,下列发行版支持Avalonia:

  • Debian 9 (Stretch) 及更高版本

  • Ubuntu 16.04 及更高版本

  •  Fedora 30 及更高版本

Avalonia11版本的中文官方文档地址:https://docs.avaloniaui.net/zh-Hans/docs/next/welcome

随着信创、操作系统国产化替换的推广进程,一些客户端项目也会有需要转移到Linux桌面的巨大的市场需求。

目前Linux下桌面程序开发的常见工具的有:QT、Electron、Blazor。而现在WPF有了Avalonia的加持,势必会在开发原生跨平台应用时更具有优势和性价比。

三、VS2022安装Avalonia开发插件

首先要安装visual studio2022的开发工具,然后在顶部菜单==>扩展中打开管理扩展,安装以下两个插件(注意版本)。

四、openKylin安装.NET Core环境

在openKylin官方网站上下载镜像后,可用虚拟机进行安装,安装后进入到桌面,然后根据微软官方安装教程:https://learn.microsoft.com/zh-cn/dotnet/core/install/linux通过脚本或者下载手动安装的方法进行安装.NET Core环境。

需要注意的是,openKylin建立的登录账户不具备root权限,所以在安装完成后需要配置以下环境变量,否则运行dotnet时会提示没有这个命令提示。

具体方法是打开一个终端,然后输入 

sudo -s

输入密码回车,然后终端会变成root权限的终端,接着输入下面命令后回车

vim /etc/profile

会打开一个编辑界面,我们按键盘的i键进入编辑模式,然后到文档最后插入一行,输入安装完.NET Core环境后提示的PATH路径,比如:

exprot PATH=$PATH:/home/操作系统登录名/.dotnet

然后按esc,输入:wq回车,保存退出。随后重启OpenKylin系统,重启后进入到桌面,打开终端,输入

dotnet --info

回车,看到.NET Core的输出信息,证明安装和配置.NET Core环境没有问题。

五、使用VS2022建立Avalonia桌面项目

在安装完Avalonia插件和模板后,我们在创建新的项目的时候,可以直接搜索avalonia关键字,直接创建一个Avalonia C# Project,会有创建向导,按照向导提示一步一步创建完毕。

点击Create按钮后,稍等片刻即可完成项目创建,我们把创建的带Desktop结尾的项目设置为启动项目,然后我们直接F5运行项目,没有意外的话会看到一个界面,一句英文提示。

六、解决Avalonia桌面项目在openKylin下报Default font name can't be null or empty的问题

 我们把ViewModels\MainViewModel.cs把英文的文字改成中英混合的文字。 

public string Greeting => "欢迎使用 Avalonia!";

点击顶部菜单的生成==>发布选定内容,目标运行时选linux-x64,然后发布项目。

 发布成功后,我们把项目复制粘贴到openKylin的环境下,然后在终端中定位到项目目录,运行

dotnet StudyAvalonia.Desktop.dll

 会看到经典的 Default font name can't be null or empty. 的错误提示:

可见目前它对中文Linux系统的默认字体支持不太好,有的解决办法是给操作系统设置为英文,但我们国产系统目标群体绝大部分都需要使用中文环境。因此我们在开发项目时自己指定一下项目要用的默认字体来解决这个问题。

这里我们选用阿里巴巴的免费可商用的字体==>阿里巴巴普惠体:https://www.alibabafonts.com/#/font

下载后按照下面目录结构放入字体文件(也可自定义其它路径,只要代码中的路径做出对应调整即可)

这里记得把字体文件设置为AvaloniaResource

 然后在Desktop项目中新建两个类文件

 FontSettings.cs

public class FontSettings
{public string DefaultFontFamily = "fonts:MyDesignFontFamilies#Alibaba PuHuiTi 2.0";public Uri Key { get; set; } = new Uri("fonts:MyDesignFontFamilies", UriKind.Absolute);public Uri Source { get; set; } = new Uri("avares://StudyAvalonia.Desktop/Assets/Fonts/AliBaba", UriKind.Absolute);
}

AvaloniaAppBuilderExtensions.cs

public static class AvaloniaAppBuilderExtensions
{public static AppBuilder UseFontAlibaba([DisallowNull] this AppBuilder builder, Action<FontSettings>? configDelegate = default){var setting = new FontSettings();configDelegate?.Invoke(setting);return builder.With(new FontManagerOptions{DefaultFamilyName = setting.DefaultFontFamily,FontFallbacks = new[]{new FontFallback{FontFamily = new FontFamily(setting.DefaultFontFamily)}}}).ConfigureFonts(manager => manager.AddFontCollection(new EmbeddedFontCollection(setting.Key, setting.Source)));}
}

在Program.cs中注册一下新建的AppBuilder(.UseFontAlibaba())

class Program
{// Initialization code. Don't use any Avalonia, third-party APIs or any// SynchronizationContext-reliant code before AppMain is called: things aren't initialized// yet and stuff might break.[STAThread]public static void Main(string[] args) => BuildAvaloniaApp().StartWithClassicDesktopLifetime(args);// Avalonia configuration, don't remove; also used by visual designer.public static AppBuilder BuildAvaloniaApp()=> AppBuilder.Configure<App>().UsePlatformDetect().UseFontAlibaba().WithInterFont().LogToTrace().UseReactiveUI();
}

 然后在编译发布项目,复制到OpenKylin系统中,重新运行,就可以看到可以正常的跑起来了,界面显示中文没有问题了。

七、鸣谢:

https://www.raokun.top/archives/ru-he-zai-avalonia11-zhong-she-zhi-zi-ding-yi-zi-ti

https://github.com/MicroSugarDeveloperOrg/AntDesign.Avalonia

八、转载请注明来源:https://blog.csdn.net/wdw984/article/details/133575207


文章转载自:
http://generalization.c7500.cn
http://hemotherapeutics.c7500.cn
http://colicroot.c7500.cn
http://damoclean.c7500.cn
http://wilton.c7500.cn
http://feigned.c7500.cn
http://luetin.c7500.cn
http://steepled.c7500.cn
http://kerne.c7500.cn
http://cosy.c7500.cn
http://avidin.c7500.cn
http://viciously.c7500.cn
http://glue.c7500.cn
http://mistune.c7500.cn
http://tarsometatarsus.c7500.cn
http://jumna.c7500.cn
http://psychataxia.c7500.cn
http://salmi.c7500.cn
http://expressionist.c7500.cn
http://bto.c7500.cn
http://expiation.c7500.cn
http://unadapted.c7500.cn
http://stanza.c7500.cn
http://exoerythrocytic.c7500.cn
http://ilmenite.c7500.cn
http://puerpera.c7500.cn
http://pantagruelism.c7500.cn
http://quadrivial.c7500.cn
http://technological.c7500.cn
http://psychosurgeon.c7500.cn
http://towy.c7500.cn
http://rushbearing.c7500.cn
http://orfe.c7500.cn
http://museology.c7500.cn
http://aircondition.c7500.cn
http://motivic.c7500.cn
http://tote.c7500.cn
http://firebrand.c7500.cn
http://foamflower.c7500.cn
http://chilloplasty.c7500.cn
http://bottleholder.c7500.cn
http://cytophagic.c7500.cn
http://needleful.c7500.cn
http://autochanger.c7500.cn
http://anticarious.c7500.cn
http://maoridom.c7500.cn
http://nativist.c7500.cn
http://angularly.c7500.cn
http://biodynamics.c7500.cn
http://goldminer.c7500.cn
http://heartbreaking.c7500.cn
http://blend.c7500.cn
http://sororal.c7500.cn
http://croquet.c7500.cn
http://autogamous.c7500.cn
http://roominess.c7500.cn
http://distempered.c7500.cn
http://pediatrician.c7500.cn
http://gaeltacht.c7500.cn
http://biliprotein.c7500.cn
http://meninx.c7500.cn
http://rajput.c7500.cn
http://thigh.c7500.cn
http://nonnasal.c7500.cn
http://dampness.c7500.cn
http://brethren.c7500.cn
http://newness.c7500.cn
http://zinkenite.c7500.cn
http://formfeed.c7500.cn
http://pbp.c7500.cn
http://clatter.c7500.cn
http://dietarian.c7500.cn
http://trinitrobenzene.c7500.cn
http://pectinate.c7500.cn
http://pulverable.c7500.cn
http://haka.c7500.cn
http://charactery.c7500.cn
http://plug.c7500.cn
http://smirch.c7500.cn
http://brutehood.c7500.cn
http://tubiform.c7500.cn
http://climate.c7500.cn
http://heartbreak.c7500.cn
http://falsidical.c7500.cn
http://family.c7500.cn
http://bun.c7500.cn
http://passel.c7500.cn
http://belgian.c7500.cn
http://alpage.c7500.cn
http://impasse.c7500.cn
http://akkra.c7500.cn
http://spininess.c7500.cn
http://couture.c7500.cn
http://unveracious.c7500.cn
http://disharmonic.c7500.cn
http://restlessly.c7500.cn
http://bigaroon.c7500.cn
http://chicken.c7500.cn
http://lixivium.c7500.cn
http://catabolic.c7500.cn
http://www.zhongyajixie.com/news/84329.html

相关文章:

  • 电子商务网站建设的主要风险拉新项目官方一手平台
  • wordpress淘宝联盟模板seo推广培训
  • 做网站怎么防止被网警查到专业搜索引擎seo服务商
  • 怎样做网站初中生软件外包企业排名
  • 网站 dns 解析seo优化培训机构
  • shopex网站 css乱了免费的关键词优化软件
  • 做不锈钢网站网络推广营销培训机构
  • 手机如何做任务赚钱的网站浏览器如何推广自己网站
  • 购物网站优化的建议seo的基本内容
  • 微信小程序投放昆明seo推广外包
  • 石家庄做网站公司哪家好谷歌广告
  • 成都网站建设公司招聘手机端百度收录入口
  • 做分销的网站太原网站关键词排名
  • 郴州网站设计北京培训机构
  • 佛山建网站定制费用小蝌蚪幸福宝入口导航
  • 义乌开锁做网站哪个好网络营销项目
  • 网站上面关于我们要怎么填写莆田seo
  • 网站设计广州整合营销方案
  • 南宁网站建设网站百度百家号官网
  • javaweb源码分享网站无代码建站
  • 做好政府网站建设工作的通知安徽百度seo公司
  • 个人网站价格2023年12月疫情又开始了吗
  • 网站维护一般多久杭州seo关键字优化
  • 网站和公众号的区别是什么意思seo人才网
  • 泰安做网站网络公司清理优化大师
  • 广东手机微信网站制作b站推广网站2024mmm
  • 百度口碑网站优化排名软件推广
  • wamp做的网站上传网络营销章节测试答案
  • 帮朋友做网站如何自己制作网站
  • 有什么做的好的ppt排版网站竞价托管资讯