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 Application是Avalonia 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
解决方法:需要在Rider的Android SDK Mananger安装Android SDK 34,之前安装的是35版本,估计是版本太高导致的:

修改之后同样需要重启Rider。然后就可以运行啦:

相关文章:
AvaloniaUI的学习
相关网站 github:https://github.com/AvaloniaUI/Avalonia 官方中文文档:https://docs.avaloniaui.net/zh-Hans/docs/welcome IDE选择 VS2022VSCodeRider 以上三种我都尝试过,体验Rider最好。VS2022的提示功能不好,VSCode太慢,…...
刷题——快速排序
【全网最清晰快速排序,看完快排思想和代码全部通透,不通透你打我!-哔哩哔哩】 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和翻墙在本质上是不同的。想要真正实现翻墙,需要选择部署在墙外的VPN服务。VPN也能隐藏用户的真实IP地址 要实现Python对网页数据的定时实时采集和输出,可以使用Python的定时任务调度模块。其中一个常用的库是APScheduler。您可以编写一个函数&#…...
自然语言处理(NLP)
自然语言处理(NLP)是计算机科学与人工智能领域的一个重要研究方向,它致力于让计算机能够理解、分析、处理和生成人类语言。在NLP领域,存在着许多常见的任务,这些任务通常对应着不同的算法和技术。以下将详细列举几个NL…...
Spring Boot集成Spire.doc实现对word的操作
1.什么是spire.doc? Spire.Doc for Java 是一款专业的 Java Word 组件,开发人员使用它可以轻松地将 Word 文档创建、读取、编辑、转换和打印等功能集成到自己的 Java 应用程序中。作为一款完全独立的组件,Spire.Doc for Java 的运行环境无需安装 Micro…...
在Spring Boot中优化if-else语句
在Spring Boot中,优化if-else语句是提升代码质量、增强可读性和可维护性的重要手段。过多的if-else语句不仅会使代码变得复杂难懂,还可能导致代码难以扩展和维护。以下将介绍七种在Spring Boot中优化if-else语句的实战方法,每种方法都将结合示…...
【Django】开源前端库bootstrap,常用
文章目录 下载bootstrap源文件到本地项目引入bootstrap文件 官网:https://www.bootcss.com/V4版本入口:https://v4.bootcss.com/V5版本入口:https://v5.bootcss.com/ 这里使用成熟的V4版本,中文文档地址:https://v4.b…...
2024后端开发面试题总结
一、前言 上一篇离职贴发布之后仿佛登上了热门,就连曾经阿里的师兄都看到了我的分享,这波流量真是受宠若惊! 回到正题,文章火之后,一些同学急切想要让我分享一下面试内容,回忆了几个晚上顺便总结一下&#…...
opencascade AIS_Manipulator源码学习
前言 AIS_Manipulator 是 OpenCASCADE 库中的一个类,用于在3D空间中对其他交互对象或一组对象进行局部变换。该类提供了直观的操控方式,使用户可以通过鼠标进行平移、缩放和旋转等操作。 详细功能 交互对象类,通过鼠标操控另一个交互对象…...
Hadoop、Hive、HBase、数据集成、Scala阶段测试
姓名: 总分:Hadoop、Hive、HBase、数据集成、Scala阶段测试 一、选择题(共20道,每道0.5分) 1、下面哪个程序负责HDFS数据存储( C ) A. NameNode B. Jobtracher C. DataNode D. Sec…...
go语言day19 使用git上传包文件到github Gin框架入门
git分布式版本控制系统_git切换head指针-CSDN博客 获取请求参数并和struct结构体绑定_哔哩哔哩_bilibili (gin框架) GO: 引入GIn框架_go 引入 gin-CSDN博客 使用git上传包文件 1)创建一个github账户,进入Repositories个人仓…...
Ubuntu升级软件或系统
Ubuntu升级软件或系统 升级Ubuntu系统通常是一个相对简单的过程,但在进行操作之前,请务必备份重要数据以防万一。下面是升级Ubuntu系统的一般步骤: 使用软件更新工具升级系统 打开终端: 按下 Ctrl Alt T 组合键打开终端。 更…...
【Redis】Centos7 安装 redis(详细教程)
查看当前 Redis 版本: 当前的 redis 版本太老了,选择安装 Redis5。 一、使用 yum 安装 1、首先安装 scl 源 yum install centos-release-scl-rh 由于我之前已经安装过了,所以加载速度比较快,且显示已经安装成功,是最…...
Hakuin:一款自动化SQL盲注(BSQLI)安全检测工具
关于Hakuin Hakuin是一款功能强大的SQL盲注漏洞安全检测工具,该工具专门针对BSQLi设计,可以帮助广大研究人员优化BSQLi测试用例,并以自动化的形式完成针对目标Web应用程序的漏洞扫描与检测任务。 该工具允许用户以轻松高效的形式对目标Web应…...
在 Postman 中设置全局 token
目录 问题描述解决方案 问题描述 在使用 Postman 进行接口测试时,经常会遇到在 Header 中添加 token 的情况。当接口数量较多时,需要为每个接口进行设置,而且当 token 失效时需要重新获取并设置,这样一来效率较低。 解决方案 下…...
Linux C编程:打造一个插件系统
title: ‘Linux C编程:打造一个插件系统’ date: 2017-03-07 21:16:36 tags: linux C layout: post comments: true 运行环境:linux 使用语言:c 或者c 插件,很多人用过,比如游戏插件,编辑器插件这些, 最著…...
基于毫米波生物感知雷达+STM32设计的独居老人居家监护系统(微信小程序)(192)
基于毫米波生物感知雷达设计的独居老人居家监护系统(微信小程序)(192) 文章目录 一、前言1.1 项目介绍【1】项目功能介绍【2】项目硬件模块组成1.2 设计思路【1】整体设计思路【2】60G毫米波生物感知雷达原理【3】ESP8266模块配置【4】供电方式1.3 项目开发背景【1】选题的意义…...
C++——类和对象(下)
目录 一、再探构造函数 1.基本定义以及用法 2.必须在初始化列表初始化的成员变量 3.成员变量声明位置的缺省值(C11) 4.成员变量初始化顺序 二、隐式类型转换 三、static成员 四、友元 五、内部类 六、匿名对象 七、日期类实现 一、再探构造函数…...
Android中集成前端页面探索(Capacitor 或 Cordova 插件)待完善......
探索目标:Android中集成前端页面 之前使用的webview加载html页面,使用bridge的方式进行原生安卓和html页面的通信的方式,探索capacitor-android插件是如何操作的 capacitor-android用途 Capacitor 是一个用于构建现代跨平台应用程序的开源框…...
玩转CSS:用ul li +JS 模拟select,避坑浏览器不兼容。
玩转CSS:用ul li JS 模拟select,避坑浏览器不兼容。 在前端的工作中,经常会遇到 selcet控件,但我们用css来写它的样式时候,总是不那么令人满意,各种浏览器不兼容啊有没有? 那么,我…...
【灶台导航】 RAG系统的容错设计:从向量搜索到关键词降级,一个都不能少
当三个外部依赖都可能随时挂掉时,如何保证用户永远有响应?问题:完美主义害死人 做RAG系统时,我们很容易陷入一种思维定势:向量检索要准、LLM要强、整个链路要丝滑。但现实是——任何一个外部服务挂了,用户就…...
ARM架构CNTHP_CTL_EL2寄存器详解与虚拟化应用
1. ARM架构中的CNTHP_CTL_EL2寄存器深度解析在ARMv8-A架构的虚拟化环境中,定时器管理是Hypervisor实现高效资源调度和时间隔离的关键组件。作为EL2特权级的物理定时器控制寄存器,CNTHP_CTL_EL2为虚拟化软件提供了精确的计时控制能力。本文将深入剖析该寄…...
维他动力获5亿Pre-A轮启动人形研发;优必选与日立达成合作人形机器人赋能制造; 前小米高管创业工业通用具身大脑小雨智造获B+轮融资
1. 维他动力获5亿Pre-A轮启动人形研发牛喀网获悉,Vbot维他动力正式完成近5亿元Pre-A轮融资,创下当前消费级具身智能领域的最大单笔融资纪录,本轮由东方嘉富、华泰紫金、复星锐正联合领投,上汽旗下尚颀资本等机构参投。技术层面&am…...
从零搭建ROS Gazebo仿真小车:集成摄像头与YOLO目标检测实现视觉感知
1. 环境准备与ROS安装 在开始构建仿真小车之前,我们需要先搭建好开发环境。ROS(Robot Operating System)是目前机器人开发最流行的框架之一,它提供了硬件抽象、设备驱动、库函数、可视化工具等丰富功能。我推荐使用Ubuntu 20.04 L…...
【仅限首批内测团队获取】AI Agent Serverless标准化交付套件(含Terraform模块+OpenTelemetry追踪模板+合规审计清单)
更多请点击: https://intelliparadigm.com 第一章:AI Agent Serverless应用的演进逻辑与范式跃迁 AI Agent 与 Serverless 的融合并非技术堆叠,而是计算范式在智能体自治性、事件驱动粒度和资源契约关系三重维度上的结构性重构。早期云函数仅…...
【Kanzi 资源系统完全笔记】
一、Resource 的类层次结构Kanzi 中所有资源(Resource)都继承自 Object 基类。下图是常见的资源继承体系(根据图片整理):Object└── Resource├── GPUResource # 位于 GPU 显存中的资源(纹理、…...
superpowers skill 3.1: using-git-worktrees
智能体工作流 安装 $ npx skills add https://github.com/obra/superpowers --skill using-git-worktrees摘要 具有智能目录选择和安全验证的隔离 Git 工作树。 通过检查现有目录、CLAUDE.md 偏好设置或询问用户来自动检测工作树目录位置;支持项目本地ÿ…...
在Linux Mint上搞定Synopsys VCS和Verdi 2018.06:一个学生党的完整踩坑与配置实录
在Linux Mint上搞定Synopsys VCS和Verdi 2018.06:一个学生党的完整踩坑与配置实录 作为一名微电子专业的学生,第一次接触Synopsys的VCS和Verdi工具时,我完全被它们的强大功能所震撼。然而,当我在自己的Linux Mint系统上尝试安装这…...
对比直接使用原厂API,Taotoken在计费透明度上的体验
🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 对比直接使用原厂API,Taotoken在计费透明度上的体验 对于个人开发者而言,在项目开发中集成大模型能力时&am…...
多品牌技高速存储卡术拆解分析实测:如何同时满足企业级监控与创作两不误?
一、开篇:当监控连续记录与影视创作相遇——存储卡的双重使命在企业级安防监控与专业影像创作的交汇点上,存储卡不再仅仅是数据的载体,而是工作流中不可绕过的风险控制节点。安防监控要求724小时不间断写入,对持续写入稳定性和数据…...
