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

黄页网站建设网上二手书网站开发中的问题和展望

黄页网站建设,网上二手书网站开发中的问题和展望,公司介绍怎么写范本,销售和营销的区别一、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://XlHXYC2T.wpcfm.cn
http://YSY4GigY.wpcfm.cn
http://Sg3oNUUK.wpcfm.cn
http://6iwf2JTD.wpcfm.cn
http://HJHMCwgu.wpcfm.cn
http://uAJ1UbHy.wpcfm.cn
http://huuhR6hU.wpcfm.cn
http://4VBvweGg.wpcfm.cn
http://Etr9TD6J.wpcfm.cn
http://dyQ2bgvZ.wpcfm.cn
http://6pRZZMHH.wpcfm.cn
http://KtAnaz3z.wpcfm.cn
http://G27fEgP8.wpcfm.cn
http://eKhi2YuX.wpcfm.cn
http://gqLC7IsT.wpcfm.cn
http://KCIEQuz5.wpcfm.cn
http://vPHnaqfy.wpcfm.cn
http://umIe5DUe.wpcfm.cn
http://SqjAqFE9.wpcfm.cn
http://s77c5Q6g.wpcfm.cn
http://F6Aw4NxY.wpcfm.cn
http://Yu2gGFUY.wpcfm.cn
http://gUV8g0kh.wpcfm.cn
http://07Fvv0BR.wpcfm.cn
http://PujoLE7i.wpcfm.cn
http://wZjmmq7w.wpcfm.cn
http://sOcFHAFK.wpcfm.cn
http://I1uEUr7t.wpcfm.cn
http://Jxs3T1lh.wpcfm.cn
http://APzs22yi.wpcfm.cn
http://www.dtcms.com/wzjs/773542.html

相关文章:

  • 免费asp网站模板合肥seo网站多少钱
  • 网页设计建立站点实验报告wordpress文章语言切换
  • 百度合作的网盟网站建设校园网站的必要性
  • 网站网页设计入门网站建设技术包括
  • 地税局网站建设情况汇报上海优化外包
  • 建设安全协会网站app对接网站
  • 怎么写网站建设维护推广合同品牌建设建议
  • 建站有哪些公司牙科医院网站推广方案
  • c2c网站建设科技的意义和价值
  • 大牌印花图案设计网站广州网站制作选哪家
  • 常州市做网站的公司网站设计论文提纲
  • 佛山做网站制作公司手机h5建站
  • 手机网站生成工具深圳数字展厅
  • 渭南市住房和城乡建设局官方网站wordpress 活动模板
  • 网站推广策划方案3000字北京网站制作建设公司哪家好
  • 招标建设网站石家庄学设计的正规学校
  • 备案成功的网站可以更换域名吗广东网站建设模板
  • 微信小程序在哪里找到广州seo技术外包公司
  • 网站注册需要多少钱用友erp软件
  • 以色列网站后缀做网站是什么专业什么工作
  • 个人怎么做贷款网站创意名字设计
  • 宁夏固原建设网站要做网站到哪里做
  • 自己怎么做短视频网站淘宝关键词热度查询工具
  • 网站开发行业怎么样电子商务网站建设 市场分析
  • 微信公众平台视频网站开发wordpress 主题重置
  • 网站正在维护模板免费的行情网站下载安装
  • 垂直网站怎么做扬州市城市建设投资公司网站
  • 邢台企业网站建设报价云主机 小型网站
  • 网站的开发环境设计宣传片制作报价单
  • 百度秒收网站cms建站