AvaloniaUI的学习

相关网站

github:https://github.com/AvaloniaUI/Avalonia
官方中文文档:https://docs.avaloniaui.net/zh-Hans/docs/welcome

IDE选择

  • VS2022
  • VSCode
  • Rider

以上三种我都尝试过,体验Rider最好。VS2022的提示功能不好,VSCode太慢,只有Rider的觉得体验跟VS2022开发WPF差不多
总上所述,我选择Rider

Rider配置

安装Avalonia模板

安装Avalonia模板:

dotnet new install Avalonia.Templates

在这里插入图片描述

查看已经安装的模板:

dotnet new list

这样新建项目的时候,才能选择Avalonia模板:
在这里插入图片描述

安装AvaloniaRider插件

下载好Rider后,需要安装插件AvaloniaRider插件:
在这里插入图片描述

创建项目

创建项目时可以选择这几种模板:
在这里插入图片描述
其中Avalonia Cross Platform ApplicationAvalonia 11中增加的对移动端(Android和IOS)的支持模板。我们就选择这个。创建完毕后,项目结构大致是这样的:
在这里插入图片描述
可以看到有Andriod/Browser/Desktop/IOS的支持。
其中Desktop可以在Windows和Linux上运行。

运行项目

创建好项目之后,等待Nuget自动还原
我改了一下MainView.axaml:

<Grid Background="Blue"><Image Source="avares://Avalonia_Test/Assets/avalonia-logo.ico"></Image><TextBlock Text="{Binding Greeting}" HorizontalAlignment="Center" VerticalAlignment="Center"/></Grid>

运行Desktop项目

启动的地方选择带有Desktop的,点击启动
在这里插入图片描述
如果没有什么其他的问题的话,应该很快就能启动了:
在这里插入图片描述

运行Andriod项目

运行Android项目之前,需要安装Andriod SDK以及安卓模拟器

安装Android SDK
  • 打开菜单:文件->设置
  • 进入到设置界面,选择语言和框架->Android SDK
  • 点击Edit按钮,进入选择SDK界面,然后勾选要安装的SDK

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

安装Andriod 模拟器

此功能需要借助Visual Studio 2022
使用VS2022打开我们刚刚新建的工程:
打开菜单:工具->Android->Android 设备管理器
点击新建按钮,即可增加一个安卓模拟器,我这里是已经增加过了,可以增加多个
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

增加后,把它启动起来,然后Rider那里就能看到了。如果没有启动的话,Rider可能启动失败。

在这里插入图片描述

常见问题

1.找不到 Android SDK 目录。

报错详细信息:Xamarin.Android.Tooling.targets(70,5): Error XA5300 : 找不到 Android SDK 目录。按照以下说明安装 Android SDK: https://aka.ms/dotnet-android-install-sdk
若要对命令行生成使用自定义 SDK 路径,请将 “AndroidSdkDirectory” MSBuild 属性设置为自定义路径。
0>------- Finished building project: Avalonia_Test.Android. Succeeded: False. Errors: 1. Warnings: 1

原因说明:安装Android SDK时,没有使用默认目录,而是自定义目录,例如我安装的就是F:\Install\Android_SDK目录。
解决办法
增加环境变量,把AndroidSdkDirectory设置为Android SDK的安装目录,我这里是F:\Install\Android_SDK所以就设置为这个值:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
注意:修改后要重启Rider

2.找不到 API 级别 34 的 android jar

报错详细信息:Xamarin.Android.Tooling.targets(100,5): Error XA5207 : 找不到 API 级别 34 的 android jar。这意味着未安装 API 级别 34 的 Android SDK 平台。请在 Android SDK 管理器 “工具”>“ Android”>“Android SDK 管理器”… 中安装它,或更改 Xamarin.Android 项目,使其将安装的 API 版本作为目标。(缺少 F:\Install\Android_SDK\platforms\android-34\android.jar。)
0>------- Finished building project: Avalonia_Test.Android. Succeeded: False. Errors: 1. Warnings: 1

解决方法:需要在RiderAndroid SDK Mananger安装Android SDK 34,之前安装的是35版本,估计是版本太高导致的:
在这里插入图片描述
修改之后同样需要重启Rider。然后就可以运行啦:
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/3267011.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

调度器——DolphinScheduler讲解及安装教程

调度器——DolphinScheduler讲解及安装教程 一&#xff1a;基本讲解 Dolphin Scheduler 1、开源的分布式任务调度系统 2、支持多种任务类型&#xff0c;包括Shell、Spark、Hive等 3、灵活的任务调度功能和友好的Web界面&#xff0c;方便管理和监控任务的执行情况 架构 操作系…

必备神器!三款优秀远程控制电脑软件推荐

嘿&#xff0c;各位职场小伙伴们&#xff0c;今儿个咱们来聊聊个挺实用又带点“科技范儿”的话题——电脑远程控制那点事儿。作为刚踏入职场不久的新人&#xff0c;我深刻体会到&#xff0c;在这信息爆炸的时代&#xff0c;掌握几招远程操作的技能&#xff0c;简直就是给自个儿…

一文详解 JuiceFS 读性能:预读、预取、缓存、FUSE 和对象存储

在高性能计算场景中&#xff0c;往往采用全闪存架构和内核态并行文件系统&#xff0c;以满足性能要求。随着数据规模的增加和分布式系统集群规模的增加&#xff0c;全闪存的高成本和内核客户端的运维复杂性成为主要挑战。 JuiceFS&#xff0c;是一款全用户态的云原生分布式文件…

GPU虚拟化和池化技术解读

GPU虚拟化到池化技术深度分析 在大型模型的推动下&#xff0c;GPU算力的需求日益增长。然而&#xff0c;企业常常受限于有限的GPU卡资源&#xff0c;即使采用虚拟化技术&#xff0c;也难以充分利用或持续使用这些资源。为解决GPU算力资源的不均衡问题&#xff0c;同时推动国产…

Spring源码学习笔记之@Async源码

文章目录 一、简介二、异步任务Async的使用方法2.1、第一步、配置类上加EnableAsync注解2.2、第二步、自定义线程池2.2.1、方法一、不配置自定义线程池使用默认线程池2.2.2、方法二、使用AsyncConfigurer指定线程池2.2.3、方法三、使用自定义的线程池Excutor2.2.4、方法四、使用…

《500 Lines or Less》(5)异步爬虫

https://aosabook.org/en/500L/a-web-crawler-with-asyncio-coroutines.html ——A. Jesse Jiryu Davis and Guido van Rossum 介绍 网络程序消耗的不是计算资源&#xff0c;而是打开许多缓慢的连接&#xff0c;解决此问题的现代方法是异步IO。 本章介绍一个简单的网络爬虫&a…

【Linux】玩转操作系统,深入刨析进程状态与调度机制

目录 1. 进程排队2. 进程状态的表述2.1. 进程状态2.2 运行状态2.3. 阻塞状态2.4. 挂起状态 3. Linux下具体的进程状态3.1. 运行状态R3.2. 可中断睡眠状态S3.3. 不可中断睡眠状态D3.4. 停止状态T3.5. 死亡状态X3.6. 僵尸状态Z 4. 孤儿进程5. 优先级6. Linux的调度与切换6.1. 四个…

单链表的实现和操作

目录 一.前言 二.单链表的定义和结构 三. 单链表的操作 一.前言 线性表的链式表示又称为非顺序映像或链式映像。简而言之&#xff0c;链表可以理解为由指针链连接的n个结点组成的。其中每一个结点包括数据域和指针域。值得注意的是&#xff0c;与顺序表不同&#xff0c;链表中…

手写spring简易版本,让你更好理解spring源码

首先我们要模拟spring&#xff0c;先搞配置文件&#xff0c;并配置bean 创建我们需要的类&#xff0c;beandefito&#xff0c;这个类是用来装解析后的bean&#xff0c;主要三个字段&#xff0c;id&#xff0c;class&#xff0c;scop&#xff0c;对应xml配置的属性 package org…

安科瑞邀您走进2024北京电气设计第44届年会

2024年7月11日&#xff0c;2024建筑电气高峰论坛暨北京电气设计第44届年会在京如期而至&#xff0c;各路精英齐聚一堂&#xff0c;围绕智慧建筑、数据中心、工业厂房配电、储能技术等热点问题展开讨论。安科瑞携企业微电网智慧能源的一站式服务解决方案亮相盛会&#xff0c;尽享…

ssh出现Permission denied(publickey,gssapi-keyex,gssapi-with-mic).

目录 1.报错如下 ​编辑2.编辑sshd配置文件 ​编辑3.解决报错 &#x1f310; 无论你是初学者还是经验丰富的专家&#xff0c;都能在这里找到志同道合的朋友&#xff0c;一起进步&#xff0c;共同探索运维领域的各种挑战和机遇。 1.报错如下 2.编辑sshd配置文件 vim /etc/ss…

【安全规范】软件开发安全设计指南(Word文档)

2.1.应用系统架构安全设计要求 2.2.应用系统软件功能安全设计要求 2.3.应用系统存储安全设计要求 2.4.应用系统通讯安全设计要求 2.5.应用系统数据库安全设计要求 2.6.应用系统数据安全设计要求 软件全套精华资料包清单部分文件列表&#xff1a; 工作安排任务书&#xff0c;可行…

PEFT LoRA 介绍(LoRA微调使用的参数及方法)

一 PEFT LoRA 介绍 官网简介如下图&#xff1a; 翻译过来是&#xff1a;低秩自适应(LoRA)是一种PEFT方法&#xff0c;它将一个大矩阵在注意层分解成两个较小的低秩矩阵。这大大减少了需要微调的参数数量。 说的只是针对注意力层&#xff0c;其实我自己平时微调操作注意力层多…

vue3前端开发-小兔鲜项目-登录和非登录状态下的模板适配

vue3前端开发-小兔鲜项目-登录和非登录状态下的模板适配&#xff01;有了上次的内容铺垫&#xff0c;我们可以根据用户的token来判定&#xff0c;到底是显示什么内容了。 1&#xff1a;我们在对应的导航组件内修改完善一下内容即可。 <script setup> import { useUserSt…

Mysql或MariaDB数据库的用户与授权操作——实操保姆级教程

一、问题描述 在日常的工作中,我们需要给不同角色的人员创建不同的账号,他们各自可访问的数据库或权限不一样,这时就需要创建用户和赋予不同的权限内容了。 二、问题分析 1、创建不同的角色账号; 2、给这些账号授予各自可访问数据库的权限。 三、实现方法 Centos8安装…

CHIP第三章作业

一&#xff0c;实验拓扑 二&#xff0c;实验要求 1、R5为ISP&#xff0c;只能进行Ip地址配置&#xff0c;其所有地址均配为公有IP地址; 2、R1和R5间使用PPP的PAP认证&#xff0c;R5为主认证方; R2与R5之间使用ppp的cHAP认证&#xff0c;R5为主认证方; R3与R5之间使用HDLC封装; …

数据结构--单链表代码(王道书上代码手敲!!!)c++

目录 1.带头结点的初始化以及检查单链表是否为空 2.不带头结点的单链表初始化以及表是否为空检查 3.带头结点按位序插入 4.不带头结点的按位序插入 5.带头结点的后插&#xff0c;前插&#xff0c;按位删除&#xff0c;删除固定节点操作 6 不带头结点的后插&#xff0c;前…

SLAM:BALM: 激光雷达映射的捆绑调整【方法解析-1】

目录 摘要I. 引言II. 相关工作III. BA公式及其导数A. 直接BA公式摘要 在视觉SLAM中,滑动窗口关键帧上的局部束调整(BA)已被广泛使用,并被证明在降低漂移方面非常有效。但在激光雷达SLAM中,很少使用BA方法,因为稀疏特征点(如边缘和平面)使得精确的点匹配变得不可能。在…

如何在 SpringBoot 中优雅的做参数校验?

一、故事背景 关于参数合法性验证的重要性就不多说了&#xff0c;即使前端对参数做了基本验证&#xff0c;后端依然也需要进行验证&#xff0c;以防不合规的数据直接进入服务器&#xff0c;如果不对其进行拦截&#xff0c;严重的甚至会造成系统直接崩溃&#xff01; 本文结合…

【Qt】QWidget核心属性相关API

目录 一. enabled——是否可用 二. geometry——几何位置 window frame 三. windowTitle——窗口标题 四. windowIcon——窗口图标 ​qrc文件 五. windowOpacity——透明度 六. cursor——光标 自定义光标 七. font——字体 八. toolTip——提示栏 九. focusPolic…