文章目录
一、前言
1、什么时候需要配置多环境?
.NET Core作为 .NET的开源版本,可以说是非常拥抱开源了,更新的力度也非常给力。却也从开源世界学了点坏东西,那就是:不再重视向下兼容(比如 .NET Core 8.0就不完全向下兼容 .NET Core 6.0)。当我们在同一个服务器运行不同版本的 .NET Core应用时,就只能配置多个版本。
2、环境信息
工具/环境 | 版本 |
---|---|
CentOS | 7.x |
.NET Core 6.0 环境 | SDK 6.0.427(Runtime 6.0.427) |
.NET Core 8.0 环境 | SDK 8.0.403(Runtime 8.0.403) |
二、部署过程
1、SDK下载&安装基础依赖
- 下载SDK
下载 .NET Core 6.0
下载 .NET Core 8.0
#进入下载目录
cd /mnt/downloads
#下载.NET Core 6.0
wget --no-check-certificate -O dotnet-6.0.tar.gz https://download.visualstudio.microsoft.com/download/pr/12ee34e8-640c-400e-a6dc-4892b442df92/81d40fc98a5bbbfbafa4cc1ab86d6288/dotnet-sdk-6.0.427-linux-x64.tar.gz
#下载.NET Core 8.0
wget --no-check-certificate -O dotnet-8.0.tar.gz https://download.visualstudio.microsoft.com/download/pr/ca6cd525-677e-4d3a-b66c-11348a6f920a/ec395f498f89d0ca4d67d903892af82d/dotnet-sdk-8.0.403-linux-x64.tar.gz
- 创建dotnet根目录&解压sdk
#创建dotnet根目录
sudo mkdir /mnt/dotnet
#解压.NET Core 6.0到指定目录
sudo mkdir /mnt/dotnet/dotnet-6.0
sudo tar zvxf dotnet-6.0.tar.gz -C /mnt/dotnet/dotnet-6.0
#解压.NET Core 8.0到指定目录
sudo mkdir /mnt/dotnet/dotnet-8.0
sudo tar zvxf dotnet-8.0.tar.gz -C /mnt/dotnet/dotnet-8.0
- 安装基础依赖
sudo yum install -y libunwind libicu
2、配置环境入口
- 软链接方式
#创建.NET Core 6.0软链接
sudo ln -s /mnt/dotnet/dotnet-6.0/dotnet /usr/local/bin/dotnet6.0
#创建.NET Core 8.0软链接
sudo ln -s /mnt/dotnet/dotnet-8.0/dotnet /usr/local/bin/dotnet8.0
- 验证
#查看.NET Core 6.0环境信息
dotnet6.0 --info
#查看.NET Core 8.0环境信息
dotnet8.0 --info
三、问题
linux运行net8程序报错,/lib64/libstdc++.so.6: version `GLIBCXX_3.4.21‘ not found
解决操作流程如下:
1、将下载好的 net8_libstdc.so-.6.0.26_c.gz 上传至服务器
2、通过命令解压,tar -zxvf net8_libstdc.so-.6.0.26_c.gz
3、移动文件, mv libstdc++.so.6.0.26 /usr/lib64/
4、移除源文件,rm /usr/lib64/libstdc++.so.6
5、链接新文件,ln -s /usr/lib64/libstdc++.so.6.0.26 /usr/lib64/libstdc++.so.6
6、刷新,sudo ldconfig