1. 为什么选择麒麟+Rider+Avalonia这个组合?
如果你和我一样,是个习惯了Windows下Visual Studio和WPF的C#开发者,第一次想在国产的麒麟操作系统上搞点桌面应用,大概率会有点懵。网上搜一圈,教程要么是让你用Visual Studio Code配一堆插件和命令行,要么就是直接劝退,说Linux下C#桌面开发是“地狱难度”。我自己也踩过不少坑,从VS Code折腾到MonoDevelop,最后发现,JetBrains Rider + Avalonia UI 这个组合,可能是目前最顺滑、最接近Windows开发体验的路径。
先说说为什么是它们。麒麟系统,作为国内主流的Linux发行版,其底层基于Ubuntu或CentOS。这意味着,大部分为这些主流Linux发行版准备的开发工具和运行时,在麒麟上也能跑起来。.NET Core(现在叫.NET)的跨平台特性已经非常成熟,这为我们打下了坚实的基础。
那为什么不用更“原生”的GTK#或者一直不温不火的MAUI呢?GTK#的界面风格和开发体验,跟WPF比起来差距不小,写起来总感觉别扭。而MAUI对Linux桌面端的支持,至少在现阶段,还远谈不上完善和稳定,社区资源也相对较少。
Avalonia UI 不一样,它被很多人称为“Linux上的WPF”。它的XAML语法、数据绑定、控件模型,对于WPF开发者来说几乎可以无缝切换。它使用Skia进行渲染,不依赖系统原生控件,所以界面在不同平台上看起来高度一致,这对于需要统一用户体验的应用来说是个巨大优势。而且它的社区活跃,迭代速度快,遇到问题比较容易找到解决方案。
开发工具的选择上,Rider 几乎是Linux下C#开发的不二之选。它出自JetBrains之手,继承了IDEA系列智能、高效的血统。代码补全、重构、调试、NuGet包管理、对Avalonia XAML的智能感知支持,都做得非常到位。相比VS Code需要自己组装插件生态,Rider提供了一个开箱即用的、高度集成的专业IDE环境,能让我们把精力更多集中在业务逻辑上,而不是折腾环境。
所以,这个组合的核心优势就是:用熟悉的C#和类WPF技术栈(Avalonia),在专业的IDE(Rider)里,为国产操作系统(麒麟)打造高质量的桌面应用。下面,我就带你一步步走通这条路,把环境搭起来,把第一个“Hello Avalonia”跑起来,并解决几个初期最容易卡住你的问题。
2. 稳扎稳打:麒麟系统开发环境全配置
万事开头难,环境配置是第一步,也是最容易劝退的一步。我们力求一次成功,避免反复折腾。
2.1 第一步:确认系统版本与安装.NET SDK
麒麟系统通常会在“关于本机”或系统设置里标明版本号,比如“Kylin V10 SP1”。知道这个很重要,因为它决定了我们后续安装软件包的源。你可以打开终端,输入 lsb_release -a 命令来查看详细的发行版信息。
接下来是安装.NET SDK。这是运行和编译C#代码的引擎。我强烈建议,除非项目有强制要求,否则选择安装.NET 6.0或.NET 8.0的长期支持(LTS)版本。我最初尝试安装.NET 7.0时,就遇到了依赖库不全的问题,安装过程报错,而.NET 6.0则一切顺利。LTS版本更稳定,社区支持周期长,适合生产环境。
安装过程其实很简单,就是几条终端命令。我们以.NET 8.0 LTS为例(如果你需要6.0,把命令中的‘8.0’换成‘6.0’即可):
-
添加微软包仓库:这能确保我们获取到官方最新、最兼容的软件包。
wget https://packages.microsoft.com/config/ubuntu/$(lsb_release -rs)/packages-microsoft-prod.deb -O packages-microsoft-prod.deb sudo dpkg -i packages-microsoft-prod.deb rm packages-microsoft-prod.ded注意
$(lsb_release -rs)会自动获取你系统的Ubuntu基础版本号(如20.04、22.04),非常方便。 -
更新软件包列表并安装SDK:
sudo apt-get update sudo apt-get install -y dotnet-sdk-8.0 -
验证安装:安装完成后,运行
dotnet --info。如果终端打印出了一长串关于.NET SDK和运行时的信息,包括版本号、安装路径等,那么恭喜你,第一步成功了。
2.2 第二步:安装并配置Rider
麒麟系统的应用商店里,通常可以直接搜索到“Rider”并进行安装,这是最简单的方法。如果商店没有,或者你想安装特定版本,也可以去JetBrains官网下载tar.gz压缩包,解压后运行 bin/rider.sh 脚本。
首次启动Rider,它会引导你完成一些初始化设置
1334



被折叠的 条评论
为什么被折叠?



