麒麟操作系统|麒麟操作系统 (kylinos) 从入门到精通 - 办公环境 - 第十七篇 C# .Net 6开发环境搭建

0.基础环境 【麒麟操作系统|麒麟操作系统 (kylinos) 从入门到精通 - 办公环境 - 第十七篇 C# .Net 6开发环境搭建】类别:笔记本
型号:中国长城 NF14C
硬件平台:飞腾处理器(ArmV8 指令集)
系统:银河麒麟操作系统 V10(SP1)
麒麟操作系统|麒麟操作系统 (kylinos) 从入门到精通 - 办公环境 - 第十七篇 C# .Net 6开发环境搭建
文章图片

关键词:
信创,麒麟系统,linux,.net,.netcore,c#,microsoft,飞腾,arm
1.需求背景 c#是一门非常优秀的语言,不少工控与医疗信息化行业软件。此外,其ef框架也是非常人性化,有低代码的基因。C#编码的过程干净,写起来非常舒服。本篇希望能够给读者在构建C#的研发环境提供一点有价值的经验分享。
2.Snap安装 安装snap服务

sudo apt-get install snapd -y

麒麟操作系统|麒麟操作系统 (kylinos) 从入门到精通 - 办公环境 - 第十七篇 C# .Net 6开发环境搭建
文章图片

确认snap
service snapd status

更新snap至最新版
sudo snap refresh

麒麟操作系统|麒麟操作系统 (kylinos) 从入门到精通 - 办公环境 - 第十七篇 C# .Net 6开发环境搭建
文章图片

注:尝试后,放弃使用snap安装dotnet core,原因与理由见第三部分
3. 安装dotnet(.net) SDK 参考https://docs.microsoft.com/zh...
https://docs.microsoft.com/zh...
官方特别提示:仅在 x64 体系结构上支持包管理器安装。 对于 ARM 等其他体系结构,必须通过其他一些方式安装 .NET,例如,通过 Snap 和安装程序脚本进行安装,或通过手动提取二进制文件进行安装。
个人实践结论:
1.Snap安装后,仅能安装edge通道,最多到5.0,且无法正常创建项目(花了不少试验时间).
2.脚本安装,找不到命令(也可以通过参数指令目录,花了不少试验时间)
最后,所有的方式都尝试过以后,决定使用二进制安装,直接用二进制包配置变量。
3.1先安装DEB依赖
如果之前未列出发行版,并且该版本基于 debian,则可能需要以下依赖项:
libc6 libgcc1 libgssapi-krb5-2 libicu67 libssl1.1 libstdc++6 zlib1g

sudo apt-get install libc6 libgcc1 libgssapi-krb5-2 libicu66 libssl1.1 libstdc++6 zlib1g #v10 sp1的仓库里面没有libicu67 wget http://ftp.de.debian.org/debian/pool/main/i/icu/libicu67_67.1-7_arm64.deb # 单独下载 sudo dpkg -i libicu67_67.1-7_arm64.deb

麒麟操作系统|麒麟操作系统 (kylinos) 从入门到精通 - 办公环境 - 第十七篇 C# .Net 6开发环境搭建
文章图片

对于使用 System.Drawing.Common 程序集的 .NET 应用,还需要以下依赖项:
libgdiplus(版本 6.0.1 或更高版本)

sudo apt-get install libgdiplus -y # v10 sp1我装的时候是6.0.4的版本

下载arm64 SDK二进制包https://dotnet.microsoft.com/...
麒麟操作系统|麒麟操作系统 (kylinos) 从入门到精通 - 办公环境 - 第十七篇 C# .Net 6开发环境搭建
文章图片

下载arm64 asp.netcore 运行时二制包
https://dotnet.microsoft.com/...
麒麟操作系统|麒麟操作系统 (kylinos) 从入门到精通 - 办公环境 - 第十七篇 C# .Net 6开发环境搭建
文章图片

将两个压缩包解压到想解压的位置,我个人是在主目录创建了dotnet/dotnet6的目录
麒麟操作系统|麒麟操作系统 (kylinos) 从入门到精通 - 办公环境 - 第十七篇 C# .Net 6开发环境搭建
文章图片

在/etc/profile后追加两行
sudo gedit /etc/profile export DOTNET_ROOT=/home/long/dotnet/dotnet6 #追加内容 export PATH=$PATH:$DOTNET_ROOT #追加内容

麒麟操作系统|麒麟操作系统 (kylinos) 从入门到精通 - 办公环境 - 第十七篇 C# .Net 6开发环境搭建
文章图片

sudo -s source /etc/profile #使其生效 dotnet #看效果

麒麟操作系统|麒麟操作系统 (kylinos) 从入门到精通 - 办公环境 - 第十七篇 C# .Net 6开发环境搭建
文章图片

如果执行没有效果,直接在命令行的状态下分别执行追加的内容
4.ide的安装设置 注:vscode的安装请参见第三篇
打开vscode,在vscode界面下按Ctrl+P.输入install ms-dotnettools.csharp,回车.
麒麟操作系统|麒麟操作系统 (kylinos) 从入门到精通 - 办公环境 - 第十七篇 C# .Net 6开发环境搭建
文章图片

点击安装,安装扩展。
5.新建工程 在命令行下
mkdir MyApp #目录可以自己指定 cd MyApp dotnet new console #生成的目标版本是.net core 6.0

麒麟操作系统|麒麟操作系统 (kylinos) 从入门到精通 - 办公环境 - 第十七篇 C# .Net 6开发环境搭建
文章图片

麒麟操作系统|麒麟操作系统 (kylinos) 从入门到精通 - 办公环境 - 第十七篇 C# .Net 6开发环境搭建
文章图片

打开vscode,依次打开菜单File > Open > MyApp 打开工程.
麒麟操作系统|麒麟操作系统 (kylinos) 从入门到精通 - 办公环境 - 第十七篇 C# .Net 6开发环境搭建
文章图片

要将csproj的版本号改成与安装的sdk版本号一致,可使用dotnet --list-sdks查看版本号
麒麟操作系统|麒麟操作系统 (kylinos) 从入门到精通 - 办公环境 - 第十七篇 C# .Net 6开发环境搭建
文章图片

生成运行时出现如下错误
麒麟操作系统|麒麟操作系统 (kylinos) 从入门到精通 - 办公环境 - 第十七篇 C# .Net 6开发环境搭建
文章图片

可能的原因是omnisharp的版本支持问题,重新下载6.0.0的版本,解压覆盖。再
dotnet run #MyApp目录下

麒麟操作系统|麒麟操作系统 (kylinos) 从入门到精通 - 办公环境 - 第十七篇 C# .Net 6开发环境搭建
文章图片

6. mono devel和mono develop安装(可选) 参见https://www.mono-project.com/...
基于debian 10配置
注:也可以在应用市场搜索一下,看是否存在
麒麟操作系统|麒麟操作系统 (kylinos) 从入门到精通 - 办公环境 - 第十七篇 C# .Net 6开发环境搭建
文章图片

麒麟操作系统|麒麟操作系统 (kylinos) 从入门到精通 - 办公环境 - 第十七篇 C# .Net 6开发环境搭建
文章图片

6.1 mono devel安装
配置仓库
sudo apt install apt-transport-https dirmngr gnupg ca-certificates sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF echo "deb https://download.mono-project.com/repo/debian stable-buster main" | sudo tee /etc/apt/sources.list.d/mono-official-stable.list sudo apt update

安装mono
sudo apt install mono-complete #为了省事,选择全部安装 sudo apt install mono-llvm-support

6.2 mono develop安装
参见https://www.monodevelop.com/d...
基于debian 10配置
sudo apt install apt-transport-https dirmngr sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF echo "deb https://download.mono-project.com/repo/debian vs-buster main" | sudo tee /etc/apt/sources.list.d/mono-official-vs.list sudo apt update

安装mono develop
sudo apt-get install monodevelop

麒麟操作系统|麒麟操作系统 (kylinos) 从入门到精通 - 办公环境 - 第十七篇 C# .Net 6开发环境搭建
文章图片

6.3 .net sdk配置
打开monodevelop,编辑->首选项
麒麟操作系统|麒麟操作系统 (kylinos) 从入门到精通 - 办公环境 - 第十七篇 C# .Net 6开发环境搭建
文章图片

配置后的效果
麒麟操作系统|麒麟操作系统 (kylinos) 从入门到精通 - 办公环境 - 第十七篇 C# .Net 6开发环境搭建
文章图片

注:mono develop里面编译不是太熟,没有通过图形界面编译。有兴趣或者熟悉的朋友欢迎补充
本文参考了:https://www.delftstack.com/ho...
麒麟系统专栏:
https://segmentfault.com/blog...
文章发表在SegmentFault
联系邮箱:1179611323@qq.com
群:662512340
发行日志:
20220623 首发

    推荐阅读