关于linux:麒麟操作系统-kylinos-从入门到精通-办公环境-第十七篇-C-Net-6开发环境搭建

62次阅读

共计 2870 个字符,预计需要花费 8 分钟才能阅读完成。

0. 根底环境

类别:笔记本
型号:中国长城 NF14C
硬件平台:飞腾处理器(ArmV8 指令集)
零碎:河汉麒麟操作系统 V10(SP1)

关键词:
信创, 麒麟零碎,linux,.net,.netcore,c#,microsoft, 飞腾,arm

1. 需要背景

c#是一门十分优良的语言,不少工控与医疗信息化行业软件。此外,其 ef 框架也是十分人性化,有低代码的基因。C#编码的过程洁净,写起来十分难受。本篇心愿可能给读者在构建 C# 的研发环境提供一点有价值的教训分享。

2.Snap 装置

装置 snap 服务

sudo apt-get install snapd -y

确认 snap

service snapd status

更新 snap 至最新版

sudo snap refresh

注:尝试后,放弃应用 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

对于应用 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/…


下载 arm64 asp.netcore 运行时二制包
https://dotnet.microsoft.com/…

将两个压缩包解压到想解压的地位,我集体是在主目录创立了 dotnet/dotnet6 的目录

在 /etc/profile 后追加两行

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

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


如果执行没有成果,间接在命令行的状态下别离执行追加的内容

4.ide 的装置设置

注:vscode 的装置请参见第三篇
关上 vscode,在 vscode 界面下按 Ctrl+P. 输出 install ms-dotnettools.csharp,回车.

点击装置,装置扩大。

5. 新建工程

在命令行下

mkdir MyApp #目录能够本人指定
cd MyApp
dotnet new console #生成的指标版本是.net core 6.0



关上 vscode, 顺次关上菜单 File > Open > MyApp 关上工程.

要将 csproj 的版本号改成与装置的 sdk 版本号统一, 可应用 dotnet --list-sdks 查看版本号

生成运行时呈现如下谬误

可能的起因是 omnisharp 的版本反对问题,从新下载 6.0.0 的版本,解压笼罩。再

dotnet run #MyApp 目录下

6. mono devel 和 mono develop 装置(可选)

参见 https://www.mono-project.com/…
基于 debian 10 配置
注:也能够在利用市场搜寻一下,看是否存在

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 

6.3 .net sdk 配置

关上 monodevelop, 编辑 -> 首选项

配置后的成果

注:mono develop 外面编译不是太熟,没有通过图形界面编译。有趣味或者相熟的敌人欢送补充

本文参考了:https://www.delftstack.com/ho…

麒麟零碎专栏:
https://segmentfault.com/blog…
文章发表在 SegmentFault
分割邮箱:1179611323@qq.com
群:662512340
发行日志:
20220623 首发

正文完
 0