.NET国产化改造探索(六)、银河麒麟操作系统中安装多个.NET版本

随着时代的发展以及近年来信创工作和...废话就不多说了,这个系列就是为.NET遇到国产化需求的一个闭坑系列。接下来,看操作。

上一篇文章介绍了如何在银河麒麟操作系统上,使用Nginx+.NET程序实现自启动。本文介绍下如何在一个环境中,安装多个版本的.NET 运行时。

由来

首先在人大金仓数据库中,创建一个AdminDemo数据库。

bash 复制代码
./createdb AdminDemo -U system

创建完成后,可以使用ksql 命令登录到此数据库。

bash 复制代码
./ksql -U system -d AdminDemo

查询系统数据库

bash 复制代码
select datname from sys_database;

看到AdminDemo数据库已创建成功了。

接着打开解决方案,添加连接人大金仓数据库的字符串,然后进行打包,打包好之后,上传到var/www目录中,这个环节之前的文章介绍过,可以参考我之前的文章。.NET国产化改造探索(三)、银河麒麟安装.NET 8环境

接着运行.dll程序集,他直接报了一个错,意思让我去安装.NET 7,如下图

多个.NET 运行时并存

这就涉及到一个问题,如果是这台服务器需要多个.NET环境的时候,该如何操作呢?其实跟安装.NET8的时候一样。下载需要的.NET运行时,进行安装就可以了。安装.NET 8之前介绍过,不懂的小伙伴可以翻一下之前的文章,下面介绍下在已经有.NET 8的环境中,如何安装其他版本的.NET环境,本文以.NET 7为例,从官网下载.NET 7运行时,上传到服务器中。如下图

接着运行下面的命令

bash 复制代码
mkdir -p $HOME/dotnet7.0 && tar zxf dotnet-sdk-7.0.405-linux-x64.tar.gz -C $HOME/dotnet7.0
export DOTNET_ROOT=$HOME/dotnet7.0
export PATH=$PATH:$HOME/dotnet7.0

做一个软链接

bash 复制代码
ln -s /root/dotnet7.0/dotnet /usr/local/bin/dotnet7.0

此时,我们就可以使用下面的命令,查看是否安装成功。

bash 复制代码
dotnet7.0 --info

完成后,为了保证所有运行时都可以正常运行,把.NET8 也做下软链接,输入如下命令

bash 复制代码
ln -s /root/dotnet/dotnet /usr/local/bin/dotnet

此时,.NET 8环境和.NET7环境都已经完成了,回到/var/www目录下,输入下面的命令

bash 复制代码
dotnet7.0 xxx.dll

可以正常运行了。

折腾了半天时间,总算是可以正常运行了。

总结

暂无,下次再会!

相关推荐
rockey62717 小时前
AScript之LINQ扩展
c#·.net·script·动态脚本
学以智用1 天前
runtimeconfig.json + appsettings 完整详解(.NET Core/.NET5+,对比 machine.config)
.net
qq_410194291 天前
.NET 性能优化:先找瓶颈,再谈技巧
性能优化·.net
玩泥巴的1 天前
把AI编码从自由生成到受约束声明:微信生态 .NET SDK 中用源生成器压制 AI 编码幻觉的工程实践
微信·.net·aot·roslyn
Jeff-Tsai1 天前
Day 10:多数据库支持:CRUD 与结构升级
.net·架构设计·erp·definition-driven
1-1=01 天前
C# 特性(Attribute)
c#·.net·.netcore
IT规划师1 天前
Redis 数据类型全解 - Bitmap 生产实战:把位视图讲准、用对、守住红线(六)
redis·.net
1-1=02 天前
C# 反射
c#·.net·.netcore
一叶星殇2 天前
版本即契约:.NET 6 WebAPI 多版本治理与 Swagger 文档分治实践
mvc·.net
Jeff-Tsai2 天前
Day 9:数据与定义分家,表单不必各自建类型
.net·架构设计·erp·definition-driven