麒麟系统使用-进行.NET开发
文章目录
- 前言
- 一、搭建dotnet环境
- 1.获取相关资源
- 2.配置dotnet
- 二、使用dotnet
- 三、其他说明
- 总结
前言
麒麟系统的内核是基于linux的,如果需要进行.NET开发,则需要安装特定的应用。由于NET Framework 是仅适用于 Windows 版本的 .NET,所以要进行.NET开发需要特定的安装及配置。使用.NET方式与在windows环境下使用有些出入。本文将细致讲解在如何在麒麟系统中使用.NET。
一、搭建dotnet环境
1.获取相关资源
我们进入微软的官网下载相关的.NET SDK下载 .NET
我们可以根据需要选择当前在用的适用于麒麟系统的工具包(例如 选择下载.NET8.0)
最终我们获取压缩文件dotnet-sdk-8.0.410-linux-arm64.tar.gz
根据需要我们可以将这个压缩文件解压到我们的需要放置的位置(本文将该文件解压后挪到了/data/dotnet-sdk-8.0.410-linux-arm64 路径下)。
我们也可以根据需要,在.NET SDK下载 .NET页面点击“不再支持的版本”选择相应的历史版本下载
2.配置dotnet
用文本编辑器打开位于/home/mydemopc (mydemopc 为本地自定义登录账号名称,具体路径个人会有不同)下的 .bashrc 文件
将如下命令添加到 .bashrc 文件中,其中/data/dotnet-sdk-8.0.410-linux-arm64为
export DOTNET_ROOT=/data/dotnet-sdk-8.0.410-linux-arm64
export PATH=$PATH:/data/dotnet-sdk-8.0.410-linux-arm64
添加完的 .bashrc 文件如下所示,修改完成后保存该文件
如需该设置立即生效,可在麒麟系统的“终端”工具中输入如下命令
source ~/.bashrc
如果没有其他情况,在麒麟系统的“终端”工具中输入如下命令
which dotnet
来验证是否配置好dotnet
如本文验证结果如下
mydemopc@mydemo:~$ which dotnet
/data/dotnet-sdk-8.0.410-linux-arm64/dotnet
二、使用dotnet
在麒麟系统中,dotnet有其可供使用的特定的模板方式,我们可通过在“终端”工具中输入如下命令来查看相关可用模板
dotnet new list
一般而言,麒麟系统中dotnet可用模板如下所示
为演示需要,首先,我们在“终端”工具通过dotnet相关模板指令先建立一个控制台程序
mydemopc@mydemo:/data/project$ dotnet new console -o mytest欢迎使用 .NET 8.0!
---------------------
SDK 版本: 8.0.410遥测
---------
.NET 工具会收集用法数据,帮助我们改善你的体验。它由 Microsoft 收集并与社区共享。你可通过使用喜欢的 shell 将 DOTNET_CLI_TELEMETRY_OPTOUT 环境变量设置为 "1" 或 "true" 来选择退出遥测。阅读有关 .NET CLI 工具遥测的更多信息: https://aka.ms/dotnet-cli-telemetry----------------
已安装 ASP.NET Core HTTPS 开发证书。
若要信任该证书,请查看说明: https://aka.ms/dotnet-https-linux----------------
编写第一个应用: https://aka.ms/dotnet-hello-world
了解新增功能: https://aka.ms/dotnet-whats-new
浏览文档: https://aka.ms/dotnet-docs
报告问题并在 GitHub 上查找来源: https://github.com/dotnet/core
使用 "dotnet --help" 查看可用命令或访问: https://aka.ms/dotnet-cli
--------------------------------------------------------------------------------------
已成功创建模板“控制台应用”。正在处理创建后操作...
正在还原 /data/project/mytest/mytest.csproj:正在确定要还原的项目…已还原 /data/project/mytest/mytest.csproj (用时 101 毫秒)。
已成功还原。
创建完成后,我们在“终端”工具进入对应的文件夹,运行dotnet相应指令来查看控制台的运行情况,如下所示
mydemopc@mydemo:/data/project$ cd mytest
mydemopc@mydemo:/data/project/mytest$ dotnet run
Hello, World!
其次,我们在“终端”工具通过dotnet相关模板指令先建立一个web程序
mydemopc@mydemo:/data/project$ dotnet new web -o mywebtest
已成功创建模板“ASP.NET Core 空”。正在处理创建后操作...
正在还原 /data/project/mywebtest/mywebtest.csproj:正在确定要还原的项目…已还原 /data/project/mywebtest/mywebtest.csproj (用时 121 毫秒)。
已成功还原。
创建完成后,我们在“终端”工具进入对应的文件夹,运行dotnet相应指令来查看控制台的运行情况,如下所示
mydemopc@mydemo:/data/project/mywebtest$ dotnet run
正在生成...
info: Microsoft.Hosting.Lifetime[14]Now listening on: http://localhost:5171
info: Microsoft.Hosting.Lifetime[0]Application started. Press Ctrl+C to shut down.
info: Microsoft.Hosting.Lifetime[0]Hosting environment: Development
info: Microsoft.Hosting.Lifetime[0]Content root path: /data/project/mywebtest
根据运行结果,我们打开在浏览器中打开url“http://localhost:5171”,会展示如下结果
三、其他说明
根据一些资料介绍,可通过在“终端”工具输入如下命令,来达到安装dotnet 的目的
wget https://packages.microsoft.com/config/ubuntu/20.04/packages-microsoft-prod.deb -O packages-microsoft-prod.deb
sudo dpkg -i packages-microsoft-prod.deb
sudo apt-get update
sudo apt-get install -y dotnet-sdk-6.0
经过验证,我发现好像不可行,以下是我的运行脚本情况
mydemopc@mydemo:/data/test$ sudo dpkg -i packages-microsoft-prod.deb
=== 生物识别认证 ===
按Q或者Esc取消
设备空闲
请按压你的手指
识别特征匹配
=== 认证成功 ===
(正在读取数据库 ... 系统当前共安装有 197773 个文件和目录。)
准备解压 packages-microsoft-prod.deb ...
正在解压 packages-microsoft-prod (1.0-ubuntu20.04.1) 并覆盖 (1.0-ubuntu18.04.2) ...
正在设置 packages-microsoft-prod (1.0-ubuntu20.04.1) ...
正在安装新版本配置文件 /etc/apt/sources.list.d/microsoft-prod.list ...mydemopc@mydemo:/data/test$ sudo apt-get update
命中:1 https://archive.kylinos.cn/kylin/KYLIN-ALL 10.1-wayland-2203-updates InRelease
命中:2 https://archive2.kylinos.cn/deb/kylin/production/PART-10_1-kirin9a0/custom/partner/10_1-kirin9a0 default InRelease
命中:3 https://archive.kylinos.cn/kylin/KYLIN-ALL 10.1-kirin9006C-feature InRelease
获取:4 https://packages.microsoft.com/ubuntu/20.04/prod focal InRelease [3,632 B]
获取:5 https://packages.microsoft.com/repos/code stable InRelease [3,590 B]
获取:6 https://packages.microsoft.com/ubuntu/20.04/prod focal/main amd64 Packages [354 kB]
获取:7 https://packages.microsoft.com/ubuntu/20.04/prod focal/main armhf Packages [26.2 kB]
获取:8 https://packages.microsoft.com/ubuntu/20.04/prod focal/main arm64 Packages [80.5 kB]
获取:9 https://packages.microsoft.com/ubuntu/20.04/prod focal/main all Packages [2,938 B]
获取:10 https://packages.microsoft.com/repos/code stable/main arm64 Packages [19.3 kB]
获取:11 https://packages.microsoft.com/repos/code stable/main armhf Packages [19.4 kB]
获取:12 https://packages.microsoft.com/repos/code stable/main amd64 Packages [19.2 kB]
已下载 528 kB,耗时 2秒 (270 kB/s)
正在读取软件包列表... 完成
mydemopc@mydemo:/data/test$ sudo apt-get install -y dotnet-sdk-6.0
正在读取软件包列表... 完成
正在分析软件包的依赖关系树
正在读取状态信息... 完成
E: 无法定位软件包 dotnet-sdk-6.0
E: 无法按照 glob ‘dotnet-sdk-6.0’ 找到任何软件包
E: 无法按照正则表达式 dotnet-sdk-6.0 找到任何软件包
mydemopc@mydemo:/data/test$ sudo apt-get install dotnet-sdk-8.0
正在读取软件包列表... 完成
正在分析软件包的依赖关系树
正在读取状态信息... 完成
E: 无法定位软件包 dotnet-sdk-8.0
E: 无法按照 glob ‘dotnet-sdk-8.0’ 找到任何软件包
E: 无法按照正则表达式 dotnet-sdk-8.0 找到任何软件包
总结
本文介绍了如何获取在麒麟系统中能够使用的dotnet的安装包信息,并讲述了如何配置,本文还讲述了在麒麟系统中的dotnet可支持的模板情况,并以示例演示了在麒麟系统中创建dotnet控制台程序与dotnetWEB程序,最后本文介绍了相关脚本的验证情况。
相关文章:

麒麟系统使用-进行.NET开发
文章目录 前言一、搭建dotnet环境1.获取相关资源2.配置dotnet 二、使用dotnet三、其他说明总结 前言 麒麟系统的内核是基于linux的,如果需要进行.NET开发,则需要安装特定的应用。由于NET Framework 是仅适用于 Windows 版本的 .NET,所以要进…...
游戏开发中常见的战斗数值英文缩写对照表
游戏开发中常见的战斗数值英文缩写对照表 基础属性(Basic Attributes) 缩写英文全称中文释义常见使用场景HPHit Points / Health Points生命值角色生存状态MPMana Points / Magic Points魔法值技能释放资源SPStamina Points体力值动作消耗资源APAction…...

GraphRAG优化新思路-开源的ROGRAG框架
目前的如微软开源的GraphRAG的工作流程都较为复杂,难以孤立地评估各个组件的贡献,传统的检索方法在处理复杂推理任务时可能不够有效,特别是在需要理解实体间关系或多跳知识的情况下。先说结论,看完后感觉这个框架性能上不会比Grap…...

Canal环境搭建并实现和ES数据同步
作者:田超凡 日期:2025年6月7日 Canal安装,启动端口11111、8082: 安装canal-deployer服务端: https://github.com/alibaba/canal/releases/1.1.7/canal.deployer-1.1.7.tar.gz cd /opt/homebrew/etc mkdir canal…...

【java面试】微服务篇
【java面试】微服务篇 一、总体框架二、Springcloud(一)Springcloud五大组件(二)服务注册和发现1、Eureka2、Nacos (三)负载均衡1、Ribbon负载均衡流程2、Ribbon负载均衡策略3、自定义负载均衡策略4、总结 …...

HTTPS证书一年多少钱?
HTTPS证书作为保障网站数据传输安全的重要工具,成为众多网站运营者的必备选择。然而,面对市场上种类繁多的HTTPS证书,其一年费用究竟是多少,又受哪些因素影响呢? 首先,HTTPS证书通常在PinTrust这样的专业平…...

Python环境安装与虚拟环境配置详解
本文档旨在为Python开发者提供一站式的环境安装与虚拟环境配置指南,适用于Windows、macOS和Linux系统。无论你是初学者还是有经验的开发者,都能在此找到适合自己的环境搭建方法和常见问题的解决方案。 快速开始 一分钟快速安装与虚拟环境配置 # macOS/…...

内窥镜检查中基于提示的息肉分割|文献速递-深度学习医疗AI最新文献
Title 题目 Prompt-based polyp segmentation during endoscopy 内窥镜检查中基于提示的息肉分割 01 文献速递介绍 以下是对这段英文内容的中文翻译: ### 胃肠道癌症的发病率呈上升趋势,且有年轻化倾向(Bray等人,2018&#x…...

结构化文件管理实战:实现目录自动创建与归类
手动操作容易因疲劳或疏忽导致命名错误、路径混乱等问题,进而引发后续程序异常。使用工具进行标准化操作,能有效降低出错概率。 需要快速整理大量文件的技术用户而言,这款工具提供了一种轻便高效的解决方案。程序体积仅有 156KB,…...

云原生安全实战:API网关Envoy的鉴权与限流详解
🔥「炎码工坊」技术弹药已装填! 点击关注 → 解锁工业级干货【工具实测|项目避坑|源码燃烧指南】 一、基础概念 1. API网关 作为微服务架构的统一入口,负责路由转发、安全控制、流量管理等核心功能。 2. Envoy 由Lyft开源的高性能云原生…...
写一个shell脚本,把局域网内,把能ping通的IP和不能ping通的IP分类,并保存到两个文本文件里
写一个shell脚本,把局域网内,把能ping通的IP和不能ping通的IP分类,并保存到两个文本文件里 脚本1 #!/bin/bash #定义变量 ip10.1.1 #循环去ping主机的IP for ((i1;i<10;i)) doping -c1 $ip.$i &>/dev/null[ $? -eq 0 ] &&am…...
Django RBAC项目后端实战 - 03 DRF权限控制实现
项目背景 在上一篇文章中,我们完成了JWT认证系统的集成。本篇文章将实现基于Redis的RBAC权限控制系统,为系统提供细粒度的权限控制。 开发目标 实现基于Redis的权限缓存机制开发DRF权限控制类实现权限管理API配置权限白名单 前置配置 在开始开发权限…...

渗透实战PortSwigger Labs指南:自定义标签XSS和SVG XSS利用
阻止除自定义标签之外的所有标签 先输入一些标签测试,说是全部标签都被禁了 除了自定义的 自定义<my-tag onmouseoveralert(xss)> <my-tag idx onfocusalert(document.cookie) tabindex1> onfocus 当元素获得焦点时(如通过点击或键盘导航&…...

PydanticAI快速入门示例
参考链接:https://ai.pydantic.dev/#why-use-pydanticai 示例代码 from pydantic_ai import Agent from pydantic_ai.models.openai import OpenAIModel from pydantic_ai.providers.openai import OpenAIProvider# 配置使用阿里云通义千问模型 model OpenAIMode…...

GAN模式奔溃的探讨论文综述(一)
简介 简介:今天带来一篇关于GAN的,对于模式奔溃的一个探讨的一个问题,帮助大家更好的解决训练中遇到的一个难题。 论文题目:An in-depth review and analysis of mode collapse in GAN 期刊:Machine Learning 链接:...

数据分析六部曲?
引言 上一章我们说到了数据分析六部曲,何谓六部曲呢? 其实啊,数据分析没那么难,只要掌握了下面这六个步骤,也就是数据分析六部曲,就算你是个啥都不懂的小白,也能慢慢上手做数据分析啦。 第一…...

路由基础-路由表
本篇将会向读者介绍路由的基本概念。 前言 在一个典型的数据通信网络中,往往存在多个不同的IP网段,数据在不同的IP网段之间交互是需要借助三层设备的,这些设备具备路由能力,能够实现数据的跨网段转发。 路由是数据通信网络中最基…...

CTF show 数学不及格
拿到题目先查一下壳,看一下信息 发现是一个ELF文件,64位的 用IDA Pro 64 打开这个文件 然后点击F5进行伪代码转换 可以看到有五个if判断,第一个argc ! 5这个判断并没有起太大作用,主要是下面四个if判断 根据题目…...
React父子组件通信:Props怎么用?如何从父组件向子组件传递数据?
系列回顾: 在上一篇《React核心概念:State是什么?》中,我们学习了如何使用useState让一个组件拥有自己的内部数据(State),并通过一个计数器案例,实现了组件的自我更新。这很棒&#…...

【大模型】RankRAG:基于大模型的上下文排序与检索增强生成的统一框架
文章目录 A 论文出处B 背景B.1 背景介绍B.2 问题提出B.3 创新点 C 模型结构C.1 指令微调阶段C.2 排名与生成的总和指令微调阶段C.3 RankRAG推理:检索-重排-生成 D 实验设计E 个人总结 A 论文出处 论文题目:RankRAG:Unifying Context Ranking…...
LangChain【6】之输出解析器:结构化LLM响应的关键工具
文章目录 一 LangChain输出解析器概述1.1 什么是输出解析器?1.2 主要功能与工作原理1.3 常用解析器类型 二 主要输出解析器类型2.1 Pydantic/Json输出解析器2.2 结构化输出解析器2.3 列表解析器2.4 日期解析器2.5 Json输出解析器2.6 xml输出解析器 三 高级使用技巧3…...
【深尚想】TPS54618CQRTERQ1汽车级同步降压转换器电源芯片全面解析
1. 元器件定义与技术特点 TPS54618CQRTERQ1 是德州仪器(TI)推出的一款 汽车级同步降压转换器(DC-DC开关稳压器),属于高性能电源管理芯片。核心特性包括: 输入电压范围:2.95V–6V,输…...

如何把工业通信协议转换成http websocket
1.现状 工业通信协议多数工作在边缘设备上,比如:PLC、IOT盒子等。上层业务系统需要根据不同的工业协议做对应开发,当设备上用的是modbus从站时,采集设备数据需要开发modbus主站;当设备上用的是西门子PN协议时…...

高效的后台管理系统——可进行二次开发
随着互联网技术的迅猛发展,企业的数字化管理变得愈加重要。后台管理系统作为数据存储与业务管理的核心,成为了现代企业不可或缺的一部分。今天我们要介绍的是一款名为 若依后台管理框架 的系统,它不仅支持跨平台应用,还能提供丰富…...

深入解析光敏传感技术:嵌入式仿真平台如何重塑电子工程教学
一、光敏传感技术的物理本质与系统级实现挑战 光敏电阻作为经典的光电传感器件,其工作原理根植于半导体材料的光电导效应。当入射光子能量超过材料带隙宽度时,价带电子受激发跃迁至导带,形成电子-空穴对,导致材料电导率显著提升。…...
拟合问题处理
在机器学习中,核心任务通常围绕模型训练和性能提升展开,但你提到的 “优化训练数据解决过拟合” 和 “提升泛化性能解决欠拟合” 需要结合更准确的概念进行梳理。以下是对机器学习核心任务的系统复习和修正: 一、机器学习的核心任务框架 机…...

leetcode_69.x的平方根
题目如下 : 看到题 ,我们最原始的想法就是暴力解决: for(long long i 0;i<INT_MAX;i){if(i*ix){return i;}else if((i*i>x)&&((i-1)*(i-1)<x)){return i-1;}}我们直接开始遍历,我们是整数的平方根,所以我们分两…...

大模型——基于Docker+DeepSeek+Dify :搭建企业级本地私有化知识库超详细教程
基于Docker+DeepSeek+Dify :搭建企业级本地私有化知识库超详细教程 下载安装Docker Docker官网:https://www.docker.com/ 自定义Docker安装路径 Docker默认安装在C盘,大小大概2.9G,做这行最忌讳的就是安装软件全装C盘,所以我调整了下安装路径。 新建安装目录:E:\MyS…...
32位寻址与64位寻址
32位寻址与64位寻址 32位寻址是什么? 32位寻址是指计算机的CPU、内存或总线系统使用32位二进制数来标识和访问内存中的存储单元(地址),其核心含义与能力如下: 1. 核心定义 地址位宽:CPU或内存控制器用32位…...
2.2.2 ASPICE的需求分析
ASPICE的需求分析是汽车软件开发过程中至关重要的一环,它涉及到对需求进行详细分析、验证和确认,以确保软件产品能够满足客户和用户的需求。在ASPICE中,需求分析的关键步骤包括: 需求细化:将从需求收集阶段获得的高层需…...