Avalonia开发(一)环境搭建
一、介绍
- 开源 GitHub:https://github.com/AvaloniaUI/Avalonia/
- 多平台支持,包括
Windows、mac OS、Linux、iOS、Android、Samsung Tizen(很快支持)、WebAssembly - IDE支持,
Visual Studio扩展支持,JetBrains Rider&Resharper支持 - 依托
.NET平台 - 社区支持
MIT协议
二、安装Visual Studio扩展
2.1 Avalonia Template Studio
安装上此扩展,可以使用项目模板快速创建Avalonia项目。
2.2 Avalonia for Visual Studio
这个扩展有两个,一个是支持Visual Studio 2022版本,一个是支持Visual Studio 2017/2019版本,可以根据自己的Visual Studio版本选择安装适用于自己IDE的扩展。安装上此扩展,可以像WPF的设计界面一样,支持图形化的设计。
三、开发
安装上上面两个扩展就可以正常进行Avalonia的开发了。
3.1 创建项目
打开VS-> 创建新项目-> 在搜索模板输入框输入Avalonia,由于我们选择用C#语言开发,因此选择第一个项目模板即可。

项目名称我们确定为:FirstAvaloniaApp,点击创建按钮,之后会弹出一个对话框,
第一步:选择在创建哪些平台的项目,我们选择:Desktop,Web,Android,iOS,目前在Windows平台上就可以创建这四个平台的项目

第二步:使用的MVVM框架,有两个,ReactiveUI和Community Toolkit,可以根据自己的爱好进行选择,在这里我们选择Community Toolkit

第三步:使用的一些特性,包括:Compiled Bindings,Embedded Support,Meadow Support,在这里我们选择第一个Compiled Bindings,其他两个暂时不选择。点击按钮Create后,会自动创建对应的项目。

3.2 项目结构
项目创建完成后,解决方案对话框里面会创建5个项目,这里与xamarin.forms的项目结构相似,使用不同的平台项目编译不同平台的程序,这里与MAUI是有区别的。
FirstAvaloniaApp.Android:Android项目
FirstAvaloniaApp.Browser:WebAssembly项目
FirstAvaloniaApp.Desktop:Windows桌面项目
FirstAvaloniaApp.iOS:iOS项目

这里,我们将FirstAvaloniaApp.Desktop设置为启动项目,可以通过编译->运行,查看项目模板的页面内容,如下图所示,一个窗口,里面有一个textblock控件显示文本内容。

关于Compiled Bindings,Embedded Support,Meadow Support这三个的用途,可以点Details击详细进行查看
Compiled Bindings 编译绑定

Embedded Support 增加了对在嵌入式系统上运行应用程序的支持

Meadow Support

3.3 FirstAvaloniaApp项目结构
展开FirstAvaloniaApp,可以看到整个项目的结构

Assets:项目用到的一些资源文件,
ViewModels:视图模型文件,用于绑定到View中对应的ViewModel文件
Views:视图文件,主要为以axaml结尾的文件
3.4 nuget更新包
使用项目模板创建的项目使用的类库版本可能会存在版本与最新版本有差距,这样可以右键“解决方案”-> “管理解决方案的nuget程序包”进行程序包的更新,可以选择“选择所有程序包”,然后点击“更新”按钮

END
本篇文章作为开始篇,几乎没有任何手动编写代码,我们将在下一篇文章中添加代码,实现某些功能!Thanks!
Avalonia开发(一)环境搭建的更多相关文章
- Python开发:环境搭建(python3、PyCharm)
Python开发:环境搭建(python3.PyCharm) python3版本安装 PyCharm使用(完全图解(最新经典))
- golang开发android环境搭建_window
golang开发android环境搭建介绍 一 安装依赖软件: git:版本管理 go: go开发环境(版本>=1.5),可直接下载window版的go安装包. android studio: ...
- IOS开发基础环境搭建
一.目的 本文的目的是windows下IOS开发基础环境搭建做了对应的介绍,大家可根据文档步骤进行mac环境部署: 二.安装虚拟机 下载虚拟机安装文件绿色版,点击如下文件安装 获取安装包: ...
- 【nginx,apache】thinkphp ,laravel,yii2开发运行环境搭建
缘由 经常会有人问xx框架怎么配置运行环境,这里我就给贴出吉祥三宝(Yii2,Laravel5,Thinkphp5 )的Nginx和Apache的配置,供大家参考 Nginx Yii2 server ...
- 【1】windows下IOS开发基础环境搭建
一.目的 本文的目的是windows下IOS开发基础环境搭建做了对应的介绍,大家可根据文档步骤进行mac环境部署: 二.安装虚拟机 下载虚拟机安装文件绿色版,点击如下文件安装 获取安装包: ...
- ArcGIS API for Silverlight/ 开发入门 环境搭建
Silverlight/ 开发入门 环境搭建1 Silverlight SDK下载ArcGIS API for Microsoft Silverlight/WPF ,需要注册一个ESRI Gloab ...
- 基于Axis1.4的webservice接口开发(环境搭建)
基于Axis1.4的webservice接口开发(环境搭建) 一.环境搭建: 1.搜索关键字“Axis1.4”下载Axis1.4相关的jar包. 下载地址:http://download.csdn.n ...
- JM-1 手机网站开发测试环境搭建
JM-1 手机网站开发测试环境搭建 一.总结 一句话总结:WEB服务器环境可实现局域网内轻松访问.360wifi可以实现局域网. 二.微网站开发环境: 1.把微网站放到本机wamp环境下,用pc浏览器 ...
- Android开发开始--环境搭建
一.搭建Android开发环境 1.JDK (Java Development Kit) 2.Eclipse 3.Android SDK (Software Development Kit) 4.AD ...
- .net core 2.0学习笔记(一):开发运行环境搭建
期待已久的.net core 2.0终于发布了!大家等的花儿都谢了. 不过比预期提前了一个多月,这在微软历史上还真的不多见.按照历史经验看,2.0版本应该比较靠谱,我猜这也是社区非常火爆的原因吧.下面 ...
随机推荐
- C#.NET Framework RSA 私钥签名 公钥验签(验证签名) ver:20230612
C#.NET Framework RSA 私钥签名 公钥验签(验证签名) ver:20230612 环境说明: .NET Framework 4.6 的控制台程序 . .NET Framework 对 ...
- 痞子衡嵌入式:主流QuadSPI NOR Flash厂商关于QE位与IO功能复用关联设计
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家讲的是几家主流QuadSPI NOR Flash厂商关于QE位与IO功能复用关联设计. 痞子衡之前写过一篇文章 <串行NOR Flash下 ...
- 尚医通day16-网站怎么接入微信扫码支付?
第01章-准备工作 1.微信支付产品介绍 参考资料:产品中心 - 微信支付商户平台 (qq.com) 付款码支付.JSAPI支付.小程序支付.Native支付.APP支付.刷脸支付 1.1.付款码支付 ...
- Pinot2的无人机创新和发展
目录 1. 引言 2. 技术原理及概念 2.1 基本概念解释 2.2 技术原理介绍 2.3 相关技术比较 3. 实现步骤与流程 3.1 准备工作:环境配置与依赖安装 3.2 核心模块实现 3.3 集成 ...
- Nmap使用教程(初级篇)
基本扫描技术 扫描单个网络 nmap 192.168.1.1/www.baidu.com 扫描多个网络/目标 nmap 192.168.1.1 192.168.1.2 #将扫描同个网段内不同的ip地址 ...
- 一次与 ChatGPT 的 .NET 面试问答
以常用问题来面试机器人,机器人是否能够合格 1. 您能描述一下您曾经在.NET项目中集成硬件设备的经历吗?这个过程是怎样的,您面临了哪些挑战? GPT 回答:当我在.NET项目中集成硬件设备时,我首先 ...
- XMLSpy操作手册
最新发布的XMLSpy会让XML代码的处理更容易,还会有助于这个产品成为最主要的XML编辑器.xmlspy是符合行业标准的XML开发环境,专门用于设计,编辑和调试企业级的应用程序,包括XML, XML ...
- SpringBoot项目从0到1配置logback日志打印
大家好!我是sum墨,一个一线的底层码农,平时喜欢研究和思考一些技术相关的问题并整理成文,限于本人水平,如果文章和代码有表述不当之处,还请不吝赐教. 以下是正文! 一.写文背景 我们在写后端项目的时候 ...
- 基于FFMPEG+SDL的简单的视频播放器分析
基于FFMPEG+SDL的简单的视频播放器分析 前言 最近看了雷霄骅前辈的博客<最简单的基于FFMPEG+SDL的视频播放器 ver2 (采用SDL2.0)>,参照他的代码,在window ...
- Linux网络设备命名规则简介
Linux网络设备命名规则简介 几年前, Linux内核为网络接口分配名称采用的是一种简单和直观的方式:一个固定的前缀和一个递增的序号.比如,内核使用eth0名称以标识启动后第一个加载的网络设备,第二 ...