麒麟 Linux aarch64安装.NET 6,并适配.net应用(达梦数据库)
麒麟 Linux aarch64安装.NET 6并适配.net应用(达梦数据库)适用环境麒麟 Linux aarch64达梦(DM)数据库.NET 6。部署目录约定.NET 运行时/home/hmf/dotnet应用本体/home/hmf一、安装.NET6运行环境wget https://dot.net/v1/dotnet-install.sh -O dotnet-install.shchmod x dotnet-install.sh# 不加 --runtime 参数 装完整 SDK含编译工具链 对应运行时./dotnet-install.sh --channel 6.0 --install-dir /home/hmf/dotnet# 配置环境变量安装在用户目录下写入 ~/.bashrc 即可不需要 rootecho export DOTNET_ROOT/home/hmf/dotnet ~/.bashrcecho export PATH$PATH:/home/hmf/dotnet ~/.bashrcsource ~/.bashrc##验证版本dotnet --infodotnet --list-sdks # 应该能看到 6.0.xdotnet --list-runtimes # 应该能看到 Microsoft.AspNetCore.App 6.0.x 和 Microsoft.NETCore.App 6.0.x离线环境连不了外网改成下载dotnet-sdk-6.0.x-linux-arm64.tar.gzdotnet.microsoft.com传到 tidb 后解压到/home/hmf/dotnet其余步骤一样。#检查版本Version: 6.0.36二、适配应用2.1、准备达梦驱动达梦官网www.dameng.com下载中心用达梦通行证账号登录后下载.NET驱动包文件名类似dotNet-日期.zip解压后会看到几个文件夹比如dmDriver/DmProvider/ - 这个就是我们要用的DM.DmProvider.8.3.1.51364.nupkg - 真正的 NuGet 包文件net40/ net45/ net5.0/ net6.0/ ... - 包展开后按目标框架分的 lib 目录不用管EFCore.Dm6.0/ - Entity Framework Core 驱动本项目用不到不用管把DmProvider这个文件夹整个传到目标机比如放在/home/hmf/dmDriver/DmProvider。注册为本地 NuGet 源dotnet nuget add source /home/hmf/dmDriver/DmProvider --name dm-local如果提示dm-local这个名字已经存在比如之前加过、指向了别的路径改用dotnet nuget update source dm-local --source /home/hmf/dmDriver/DmProvider确认一下dotnet nuget list source# dm-local 那一行应该显示 /home/hmf/dmDriver/DmProvider2.2、加到项目里cd /home/hmf/TestAppdotnet add package DM.DmProvider --version 8.3.1.51364 -s /home/hmf/dmDriver/DmProvider会自动把PackageReference IncludeDM.DmProvider Version8.3.1.51364 /写进TestApp.csproj不用手动改文件。换了机器部署时这一步下载驱动 注册本地源 add package都要重新做一遍因为dotnet nuget add source是注册在当前机器的全局 NuGet 配置里的不会跟着项目代码一起传过去。2.3、还原依赖并编译cd /home/hmf/TestAppdotnet build -c Release2.4、 修改数据库连接配置编辑/home/hmf/TestApp/appsettings.json{ConnectionStrings: {DmConn: Server达梦库地址;Port端口默认5236;User Id用户名;PWD密码;},Kestrel: {Endpoints: {Http: {Url: http://0.0.0.0:8089}}}}监听地址建议用0.0.0.0监听所有网卡而不是写死具体 IP机器换 IP 或有多网卡时更省心。2.5、 运行前先验证数据库网络连通性telnet 达梦库地址 5236# 或nc -zv 达梦库地址 5236有disql等达梦客户端工具的话也可以直接拿账号密码连一下确认OK 之后再启动本应用避免网络问题和应用层报错混在一起排查。2.7、发布并直接运行验证cd /home/hmf/TestAppdotnet publish -c Release -o /home/hmf/TestApp/outcd /home/hmf/TestApp/outdotnet TestDmPlugin.dll看到类似输出说明启动成功Now listening on: http://0.0.0.0:8089Application started. Press CtrlC to shut down.浏览器访问http://10.1.1.229:8089/应看到 select/other 两个 SQL 输入框的界面测试 SQL 确认能正常连上达梦库并返回结果。CtrlC停止后继续第 8 步配置为系统服务长期运行。查看日志页面每次点击execSelect/execOther执行 SQL都会记录一条日志请求的 SQL、成功返回行数/影响行数、或失败时的异常堆栈写入运行目录下的logs文件夹按天滚动/home/hmf/TestApp/out/logs/app-20260720.log日志目录可通过appsettings.json里的Logging:LogDirectory配置默认值logs相对可执行文件所在目录也可以填绝对路径。前台运行第7步和 systemd 服务第8步用的是同一份代码都会写这个日志文件跟终端输出/journalctl是两份独立的记录互不影响。排查问题时优先看这个文件比journalctl更完整包含每次 SQL 请求明细。tail -f /home/hmf/TestApp/out/logs/app-$(date %Y%m%d).log三、配置systemd服务和开放端口3.1、置systemd服务创建/etc/systemd/system/testapp.service[Unit]DescriptionTestApp DM Plugin TestAfternetwork.target[Service]WorkingDirectory/home/hmf/TestApp/outExecStart/home/hmf/dotnet/dotnet /home/hmf/TestApp/out/TestDmPlugin.dllRestartalwaysRestartSec5KillSignalSIGINTSyslogIdentifiertestappUserhmfEnvironmentASPNETCORE_ENVIRONMENTProduction[Install]WantedBymulti-user.target启用并启动systemctl daemon-reloadsystemctl enable testappsystemctl start testappsystemctl status testapp查看日志journalctl -u testapp -f除了 journald应用自身还会把日志写入文件详见下方「日志文件」一节路径固定在/home/hmf/TestApp/out/logs/不受 systemd/前台运行方式影响且不会随终端关闭或服务重启丢失。后续改了代码重新发布只需要cd /home/hmf/TestAppdotnet publish -c Release -o /home/hmf/TestApp/outsystemctl restart testapp3.2、开放防火墙端口# firewalldfirewall-cmd --permanent --add-port8089/tcpfirewall-cmd --reload# 或 iptablesiptables -I INPUT -p tcp --dport 8089 -j ACCEPT四、常见问题现象可能原因处理dotnet build/dotnet add package报找不到 SDK只装了 Runtime没装 SDK回到第 1 步用不带--runtime的命令装完整 SDKdotnet add package DM.DmProvider报NU1101/找不到包本地 NuGet 源没注册对或路径指错了dotnet nuget list source确认dm-local指向的路径就是DmProvider那个文件夹里面直接能看到.nupkg文件的那一层编译报warning MSB3245: Could not locate the assembly DmProvidercsproj里残留旧的Reference HintPath...写法打开TestApp.csproj删掉Reference IncludeDmProvider那一整段只留PackageReference IncludeDM.DmProvider ...连接达梦库报错/超时连接串错误、网络不通、达梦库未开放对应端口先做第 6 步的网络连通性验证检查appsettings.json连接串页面打不开端口未监听/防火墙未放行/进程未启动ss -lntp \| grep 8089确认监听检查systemctl status testapp和防火墙规则中文乱码精简版系统缺少区域/编码支持确认系统已装localezh_CN.UTF-8权限不足无法监听端口非 root 用户尝试监听 1024 以下端口用 1024 以上端口已经是 8089没问题或给可执行文件加setcap cap_net_bind_serviceep五、其他达梦驱动下载达梦官方下载平台离线内网用下载完整 ARM 驱动包主下载页官方入口https://eco.dameng.com/download/两种下载方式获取.NET 驱动下载 DM8 ARM64 开发版安装包推荐CPU 平台鲲鹏 920aarch64/ARM 通用系统银河麒麟 / 统信 UOS下载后解压 / 安装路径dmdbms/drivers/dotNet/内含Dameng.Data.Provider.8.x.x.nupkg离线安装包2、页面底部【工具与驱动】单独下载.NET 驱动下滑页面找到「.NET 开发包」直接下载对应 DM8 版本驱动压缩包。本次我下载的是这个。下载的文件包为dotNet-20260710.zip

相关新闻

计算机毕业设计之基于Vue框架的云停车App的设计与实现

计算机毕业设计之基于Vue框架的云停车App的设计与实现

本文介绍了一款使用laravel基于Vue框架的云停车App,及其设计与实现过程。根据软件工程对软件系统开发定制的规则和标准,详细的介绍了系统的分析与设计过程,并且详细的概括了系统的开发与测试过程。本文的管理系统使用了HBuilderX编辑器以及 u…

2026/7/21 7:04:52 阅读更多 →
计算机毕业设计之基于PHP的个人网站的设计与实现

计算机毕业设计之基于PHP的个人网站的设计与实现

如今,在科学技术飞速发展的情况下,信息化的时代也已因为计算机的出现而来临,信息化也已经影响到了社会上的各个方面。它可以为人们提供许多便利之处,可以大大提高人们的工作效率。随着计算机技术的发展的普及,各个领域…

2026/7/21 7:04:52 阅读更多 →
PowerBI数据准备—获取Sharepoint/Onedrive上的Excel

PowerBI数据准备—获取Sharepoint/Onedrive上的Excel

商业版的SharePoint和OneDrive是支持发布后&#xff0c;云端自动刷新 1、获取访问链接 ①-网页OneDrive 复制路径&#xff08;推荐&#xff09; 浏览器打开 OneDrive 商业版&#xff08;https://<公司>-my.sharepoint.com&#xff09; 找到目标 Excel &#xff0c;点…

2026/7/24 17:59:59 阅读更多 →

最新新闻

决策树分类算法原理与Python实践指南

决策树分类算法原理与Python实践指南

1. 决策树分类概述决策树是机器学习中最直观也最常用的分类算法之一。我第一次接触决策树是在研究生时期的数据挖掘课上&#xff0c;当时就被它"if-else"式的决策逻辑所吸引。与那些黑箱模型不同&#xff0c;决策树的每个判断节点都清晰可见&#xff0c;就像我们日常…

2026/7/25 4:22:09 阅读更多 →
智能体技术进化:从感知到执行的全栈突破

智能体技术进化:从感知到执行的全栈突破

1. 智能体进化的本质突破去年测试GPT-3.5时&#xff0c;需要精确描述"请用Markdown格式输出Python快速排序代码&#xff0c;要求包含时间复杂度的注释"&#xff0c;而今天只需要说"写个带性能说明的排序代码"。这个变化背后&#xff0c;是智能体从"应…

2026/7/25 4:22:09 阅读更多 →
自然语言处理中多模型协作的自动化标注技术

自然语言处理中多模型协作的自动化标注技术

1. 项目概述&#xff1a;语言标注的自动化革命在自然语言处理领域&#xff0c;数据标注一直是制约算法性能提升的关键瓶颈。传统人工标注方式不仅耗时费力&#xff0c;不同标注者之间的标准差异还会引入数据噪声。LinguistAgent的出现&#xff0c;就像给语言学家配备了一个由多…

2026/7/25 4:22:09 阅读更多 →
基于OpenCV C++的遥感图像去雾:从暗通道先验到工程实践

基于OpenCV C++的遥感图像去雾:从暗通道先验到工程实践

1. 项目概述&#xff1a;为什么遥感图像需要去雾&#xff1f;在遥感图像处理领域&#xff0c;清晰度就是生命线。无论是用于城市规划、农业监测、灾害评估还是军事侦察&#xff0c;一张被薄雾或霾层笼罩的卫星或航空影像&#xff0c;其价值都会大打折扣。雾霾会严重降低图像的对…

2026/7/25 4:22:09 阅读更多 →
5步掌握Zotero学术翻译插件:从零配置到高效科研的完整指南

5步掌握Zotero学术翻译插件:从零配置到高效科研的完整指南

5步掌握Zotero学术翻译插件&#xff1a;从零配置到高效科研的完整指南 【免费下载链接】zotero-pdf-translate Translate PDF, EPub, webpage, metadata, annotations, notes to the target language. Support 20 translate services. 项目地址: https://gitcode.com/gh_mirr…

2026/7/25 4:22:09 阅读更多 →
Linux权限管理:从原理到实战的最佳实践

Linux权限管理:从原理到实战的最佳实践

1. 权限的本质&#xff1a;从操作系统底层看访问控制在Linux系统中&#xff0c;权限管理就像一栋大楼的安保系统。每个文件相当于一个房间&#xff0c;权限设置就是决定谁有钥匙、能开什么门。但很多人只停留在"chmod 777"的粗放管理阶段&#xff0c;其实权限体系背后…

2026/7/25 4:21:09 阅读更多 →

日新闻

突破文档下载限制:kill-doc让你看到的都能保存

突破文档下载限制:kill-doc让你看到的都能保存

突破文档下载限制&#xff1a;kill-doc让你看到的都能保存 【免费下载链接】kill-doc 看到经常有小伙伴们需要下载一些免费文档&#xff0c;但是相关网站浏览体验不好各种广告&#xff0c;各种登录验证&#xff0c;需要很多步骤才能下载文档&#xff0c;该脚本就是为了解决您的…

2026/7/25 0:00:35 阅读更多 →
C++ string类模拟实现:从深拷贝到内存管理的完整指南

C++ string类模拟实现:从深拷贝到内存管理的完整指南

1. 项目概述&#xff1a;为什么我们要“手撕”string类&#xff1f;在C的学习道路上&#xff0c;尤其是从C语言过渡到C的“初阶”阶段&#xff0c;string类绝对是一个绕不开的核心。标准库里的std::string用起来太方便了&#xff0c;、find、substr&#xff0c;几个操作符和函数…

2026/7/25 0:00:35 阅读更多 →
三角洲寻宝鼠工具:高效文件搜索与资源管理实战指南

三角洲寻宝鼠工具:高效文件搜索与资源管理实战指南

1. 先搞清楚“三角洲寻宝鼠”到底是什么工具从名称来看&#xff0c;“三角洲寻宝鼠”更像是一个资源查找或文件检索类工具&#xff0c;而不是游戏或娱乐软件。这类工具的核心价值在于帮助用户快速定位特定资源&#xff0c;比如文档、图片、压缩包或特定格式的文件。如果你经常需…

2026/7/25 0:00:35 阅读更多 →

周新闻

Go语言静态资源打包方案对比与实践指南

Go语言静态资源打包方案对比与实践指南

1. 项目背景与核心需求在Go语言开发中&#xff0c;我们经常需要处理静态资源文件的打包问题。无论是Web应用的模板文件、前端资源&#xff0c;还是配置文件、证书等&#xff0c;都需要随程序一起分发。传统做法是将这些文件与编译后的二进制文件放在同一目录下&#xff0c;但这…

2026/7/24 3:59:20 阅读更多 →
Go语言实现高性能LDAP认证服务的架构与实践

Go语言实现高性能LDAP认证服务的架构与实践

1. 项目背景与核心价值LDAP&#xff08;轻量级目录访问协议&#xff09;作为企业级身份认证的黄金标准&#xff0c;已经服务了超过80%的财富500强公司。我在金融科技领域实施统一认证体系时&#xff0c;发现传统Java方案存在启动慢、内存占用高等痛点。而Go语言凭借其协程并发模…

2026/7/24 1:23:39 阅读更多 →
【AI面试官实战指南】:用ChatGPT模拟10类高频技术岗面试,3天提升应答精准度92%

【AI面试官实战指南】:用ChatGPT模拟10类高频技术岗面试,3天提升应答精准度92%

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;AI面试官实战指南的核心价值与适用场景 AI面试官并非替代人类HR的“黑箱工具”&#xff0c;而是以可解释、可审计、可迭代的方式&#xff0c;赋能招聘全链路的关键基础设施。其核心价值在于将主观经验沉…

2026/7/24 18:52:18 阅读更多 →

月新闻