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

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。然后就可以运行啦:
在这里插入图片描述

相关文章:

AvaloniaUI的学习

相关网站 github:https://github.com/AvaloniaUI/Avalonia 官方中文文档&#xff1a;https://docs.avaloniaui.net/zh-Hans/docs/welcome IDE选择 VS2022VSCodeRider 以上三种我都尝试过&#xff0c;体验Rider最好。VS2022的提示功能不好&#xff0c;VSCode太慢&#xff0c…...

刷题——快速排序

【全网最清晰快速排序&#xff0c;看完快排思想和代码全部通透&#xff0c;不通透你打我&#xff01;-哔哩哔哩】 https://b23.tv/8GxEKIk 代码详解如上 #include <iostream> using namespace std;int getPort(int* a, int low, int high) {int port a[low];while(low…...

VPN,实时数据显示,多线程,pip,venv

VPN和翻墙在本质上是不同的。想要真正实现翻墙&#xff0c;需要选择部署在墙外的VPN服务。VPN也能隐藏用户的真实IP地址 要实现Python对网页数据的定时实时采集和输出&#xff0c;可以使用Python的定时任务调度模块。其中一个常用的库是APScheduler。您可以编写一个函数&#…...

自然语言处理(NLP)

自然语言处理&#xff08;NLP&#xff09;是计算机科学与人工智能领域的一个重要研究方向&#xff0c;它致力于让计算机能够理解、分析、处理和生成人类语言。在NLP领域&#xff0c;存在着许多常见的任务&#xff0c;这些任务通常对应着不同的算法和技术。以下将详细列举几个NL…...

Spring Boot集成Spire.doc实现对word的操作

1.什么是spire.doc? Spire.Doc for Java 是一款专业的 Java Word 组件&#xff0c;开发人员使用它可以轻松地将 Word 文档创建、读取、编辑、转换和打印等功能集成到自己的 Java 应用程序中。作为一款完全独立的组件&#xff0c;Spire.Doc for Java 的运行环境无需安装 Micro…...

在Spring Boot中优化if-else语句

在Spring Boot中&#xff0c;优化if-else语句是提升代码质量、增强可读性和可维护性的重要手段。过多的if-else语句不仅会使代码变得复杂难懂&#xff0c;还可能导致代码难以扩展和维护。以下将介绍七种在Spring Boot中优化if-else语句的实战方法&#xff0c;每种方法都将结合示…...

【Django】开源前端库bootstrap,常用

文章目录 下载bootstrap源文件到本地项目引入bootstrap文件 官网&#xff1a;https://www.bootcss.com/V4版本入口&#xff1a;https://v4.bootcss.com/V5版本入口&#xff1a;https://v5.bootcss.com/ 这里使用成熟的V4版本&#xff0c;中文文档地址&#xff1a;https://v4.b…...

2024后端开发面试题总结

一、前言 上一篇离职贴发布之后仿佛登上了热门&#xff0c;就连曾经阿里的师兄都看到了我的分享&#xff0c;这波流量真是受宠若惊&#xff01; 回到正题&#xff0c;文章火之后&#xff0c;一些同学急切想要让我分享一下面试内容&#xff0c;回忆了几个晚上顺便总结一下&#…...

opencascade AIS_Manipulator源码学习

前言 AIS_Manipulator 是 OpenCASCADE 库中的一个类&#xff0c;用于在3D空间中对其他交互对象或一组对象进行局部变换。该类提供了直观的操控方式&#xff0c;使用户可以通过鼠标进行平移、缩放和旋转等操作。 详细功能 交互对象类&#xff0c;通过鼠标操控另一个交互对象…...

Hadoop、Hive、HBase、数据集成、Scala阶段测试

姓名&#xff1a; 总分&#xff1a;Hadoop、Hive、HBase、数据集成、Scala阶段测试 一、选择题&#xff08;共20道&#xff0c;每道0.5分&#xff09; 1、下面哪个程序负责HDFS数据存储&#xff08; C &#xff09; A. NameNode B. Jobtracher C. DataNode D. Sec…...

go语言day19 使用git上传包文件到github Gin框架入门

git分布式版本控制系统_git切换head指针-CSDN博客 获取请求参数并和struct结构体绑定_哔哩哔哩_bilibili &#xff08;gin框架&#xff09; GO: 引入GIn框架_go 引入 gin-CSDN博客 使用git上传包文件 1&#xff09;创建一个github账户&#xff0c;进入Repositories个人仓…...

Ubuntu升级软件或系统

Ubuntu升级软件或系统 升级Ubuntu系统通常是一个相对简单的过程&#xff0c;但在进行操作之前&#xff0c;请务必备份重要数据以防万一。下面是升级Ubuntu系统的一般步骤&#xff1a; 使用软件更新工具升级系统 打开终端&#xff1a; 按下 Ctrl Alt T 组合键打开终端。 更…...

【Redis】Centos7 安装 redis(详细教程)

查看当前 Redis 版本&#xff1a; 当前的 redis 版本太老了&#xff0c;选择安装 Redis5。 一、使用 yum 安装 1、首先安装 scl 源 yum install centos-release-scl-rh 由于我之前已经安装过了&#xff0c;所以加载速度比较快&#xff0c;且显示已经安装成功&#xff0c;是最…...

Hakuin:一款自动化SQL盲注(BSQLI)安全检测工具

关于Hakuin Hakuin是一款功能强大的SQL盲注漏洞安全检测工具&#xff0c;该工具专门针对BSQLi设计&#xff0c;可以帮助广大研究人员优化BSQLi测试用例&#xff0c;并以自动化的形式完成针对目标Web应用程序的漏洞扫描与检测任务。 该工具允许用户以轻松高效的形式对目标Web应…...

在 Postman 中设置全局 token

目录 问题描述解决方案 问题描述 在使用 Postman 进行接口测试时&#xff0c;经常会遇到在 Header 中添加 token 的情况。当接口数量较多时&#xff0c;需要为每个接口进行设置&#xff0c;而且当 token 失效时需要重新获取并设置&#xff0c;这样一来效率较低。 解决方案 下…...

Linux C编程:打造一个插件系统

title: ‘Linux C编程:打造一个插件系统’ date: 2017-03-07 21:16:36 tags: linux C layout: post comments: true 运行环境&#xff1a;linux 使用语言&#xff1a;c 或者c 插件&#xff0c;很多人用过&#xff0c;比如游戏插件&#xff0c;编辑器插件这些&#xff0c; 最著…...

基于毫米波生物感知雷达+STM32设计的独居老人居家监护系统(微信小程序)(192)

基于毫米波生物感知雷达设计的独居老人居家监护系统(微信小程序)(192) 文章目录 一、前言1.1 项目介绍【1】项目功能介绍【2】项目硬件模块组成1.2 设计思路【1】整体设计思路【2】60G毫米波生物感知雷达原理【3】ESP8266模块配置【4】供电方式1.3 项目开发背景【1】选题的意义…...

C++——类和对象(下)

目录 一、再探构造函数 1.基本定义以及用法 2.必须在初始化列表初始化的成员变量 3.成员变量声明位置的缺省值&#xff08;C11&#xff09; 4.成员变量初始化顺序 二、隐式类型转换 三、static成员 四、友元 五、内部类 六、匿名对象 七、日期类实现 一、再探构造函数…...

Android中集成前端页面探索(Capacitor 或 Cordova 插件)待完善......

探索目标&#xff1a;Android中集成前端页面 之前使用的webview加载html页面&#xff0c;使用bridge的方式进行原生安卓和html页面的通信的方式&#xff0c;探索capacitor-android插件是如何操作的 capacitor-android用途 Capacitor 是一个用于构建现代跨平台应用程序的开源框…...

玩转CSS:用ul li +JS 模拟select,避坑浏览器不兼容。

玩转CSS&#xff1a;用ul li JS 模拟select&#xff0c;避坑浏览器不兼容。 在前端的工作中&#xff0c;经常会遇到 selcet控件&#xff0c;但我们用css来写它的样式时候&#xff0c;总是不那么令人满意&#xff0c;各种浏览器不兼容啊有没有&#xff1f; 那么&#xff0c;我…...

【灶台导航】 RAG系统的容错设计:从向量搜索到关键词降级,一个都不能少

当三个外部依赖都可能随时挂掉时&#xff0c;如何保证用户永远有响应&#xff1f;问题&#xff1a;完美主义害死人 做RAG系统时&#xff0c;我们很容易陷入一种思维定势&#xff1a;向量检索要准、LLM要强、整个链路要丝滑。但现实是——任何一个外部服务挂了&#xff0c;用户就…...

ARM架构CNTHP_CTL_EL2寄存器详解与虚拟化应用

1. ARM架构中的CNTHP_CTL_EL2寄存器深度解析在ARMv8-A架构的虚拟化环境中&#xff0c;定时器管理是Hypervisor实现高效资源调度和时间隔离的关键组件。作为EL2特权级的物理定时器控制寄存器&#xff0c;CNTHP_CTL_EL2为虚拟化软件提供了精确的计时控制能力。本文将深入剖析该寄…...

维他动力获5亿Pre-A轮启动人形研发;优必选与日立达成合作人形机器人赋能制造; 前小米高管创业工业通用具身大脑小雨智造获B+轮融资

1. 维他动力获5亿Pre-A轮启动人形研发牛喀网获悉&#xff0c;Vbot维他动力正式完成近5亿元Pre-A轮融资&#xff0c;创下当前消费级具身智能领域的最大单笔融资纪录&#xff0c;本轮由东方嘉富、华泰紫金、复星锐正联合领投&#xff0c;上汽旗下尚颀资本等机构参投。技术层面&am…...

从零搭建ROS Gazebo仿真小车:集成摄像头与YOLO目标检测实现视觉感知

1. 环境准备与ROS安装 在开始构建仿真小车之前&#xff0c;我们需要先搭建好开发环境。ROS&#xff08;Robot Operating System&#xff09;是目前机器人开发最流行的框架之一&#xff0c;它提供了硬件抽象、设备驱动、库函数、可视化工具等丰富功能。我推荐使用Ubuntu 20.04 L…...

【仅限首批内测团队获取】AI Agent Serverless标准化交付套件(含Terraform模块+OpenTelemetry追踪模板+合规审计清单)

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;AI Agent Serverless应用的演进逻辑与范式跃迁 AI Agent 与 Serverless 的融合并非技术堆叠&#xff0c;而是计算范式在智能体自治性、事件驱动粒度和资源契约关系三重维度上的结构性重构。早期云函数仅…...

【Kanzi 资源系统完全笔记】

一、Resource 的类层次结构Kanzi 中所有资源&#xff08;Resource&#xff09;都继承自 Object 基类。下图是常见的资源继承体系&#xff08;根据图片整理&#xff09;&#xff1a;Object└── Resource├── GPUResource # 位于 GPU 显存中的资源&#xff08;纹理、…...

superpowers skill 3.1: using-git-worktrees

智能体工作流 安装 $ npx skills add https://github.com/obra/superpowers --skill using-git-worktrees摘要 具有智能目录选择和安全验证的隔离 Git 工作树。 通过检查现有目录、CLAUDE.md 偏好设置或询问用户来自动检测工作树目录位置&#xff1b;支持项目本地&#xff…...

在Linux Mint上搞定Synopsys VCS和Verdi 2018.06:一个学生党的完整踩坑与配置实录

在Linux Mint上搞定Synopsys VCS和Verdi 2018.06&#xff1a;一个学生党的完整踩坑与配置实录 作为一名微电子专业的学生&#xff0c;第一次接触Synopsys的VCS和Verdi工具时&#xff0c;我完全被它们的强大功能所震撼。然而&#xff0c;当我在自己的Linux Mint系统上尝试安装这…...

对比直接使用原厂API,Taotoken在计费透明度上的体验

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 对比直接使用原厂API&#xff0c;Taotoken在计费透明度上的体验 对于个人开发者而言&#xff0c;在项目开发中集成大模型能力时&am…...

多品牌技高速存储卡术拆解分析实测:如何同时满足企业级监控与创作两不误?

一、开篇&#xff1a;当监控连续记录与影视创作相遇——存储卡的双重使命在企业级安防监控与专业影像创作的交汇点上&#xff0c;存储卡不再仅仅是数据的载体&#xff0c;而是工作流中不可绕过的风险控制节点。安防监控要求724小时不间断写入&#xff0c;对持续写入稳定性和数据…...