dotnet升级版本3.1/5.0->6.0 for Mac
场景
在项目打包部署到服务器上时,因为用的是Ubuntu22.04 LTS版本,目前该版本只支持dotnet6.0,所以只能把当前本地项目从5.0升级到6.0。包括本地其他3.1的项目,由于只能支持到今年年底,所以均进行了一次升级。
-
Mac支持:
-
Ubuntu支持:
csporj文件修改
打开项目对应的 xx.csporj
文件,把下面的5.0修改成6.0。重新build运行项目后,如果本地有6.0的sdk,则直接能运行,否则进行一下步骤的sdk安装和配置。
安装sdk
-
官网下载.NET 6.0:https://dotnet.microsoft.com/en-us/download/dotnet/6.0
-
根据Mac(或其他系统)处理器架构选择:Intel芯片-x64,M1-Arm64
-
选择
Installers
或者Binaries
包,区别如下:-
Installers:安装后是
pkg
包,下载完后点击可以直接安装 -
Binaries:安装后是
tar.gz
包,是一个二进制包,下载后需要手动解压并且手动指定安装目录 -
Source:需要在本地编译才能运行
-
PS:我安装的是 pkg
包,解压后如果系统是x64架构,则默认安装在 /usr/local/share/dotnet/x64/dotnet/
目录;如果是arm64架构,则默认安装在 /usr/local/share/dotnet/
目录下。
环境配置
官方文档:https://docs.microsoft.com/en-us/dotnet/core/install/macos
-
判断本机环境变量文件是哪个:
echo $SHELL
-
输出
/bin/zsh
,则配置的环境变量文件为~/.zshrc
-
输出
/bin/bash
,则配置的环境变量文件为~/.bash_profile
-
-
如果之前安装过,则
dotnet --info
查看以前安装的路径,我的是/usr/local/share/dotnet/
,则后续都安装在该目录下,否则执行tar解压可能会报Can't restore time
错误。如果之前没安装过,则跳过该步骤。
-
如果下载的是
pkg
包,则进入环境变量文件中vim ~/.zshrc
,在文件中添加如下配置:(我用的是这种)-
PS:解压
pkg
包后如果系统是x64架构,则默认安装在/usr/local/share/dotnet/x64/dotnet/
目录;如果是arm64架构,则默认安装在/usr/local/share/dotnet/
目录下。 -
可以将该包移动到指定路径下,我指定的是:
/usr/local/share/dotnet/
export DOTNET_ROOT=$/usr/local/share/dotnet/ export PATH=$PATH:$HOME/dotnet # 该行添加到文件末尾 export DOTNET_ROOT=$HOME/dotnet
-
-
如果下载的是
tar.gz
包,则进入环境变量文件中vim ~/.zshrc
,在文件中添加如下配置:(详情见微软官方文档)DOTNET_FILE=dotnet-sdk-6.0.100-osx-x64.tar.gz export DOTNET_ROOT=$(pwd)/dotnet mkdir -p "$DOTNET_ROOT" && tar zxf "$DOTNET_FILE" -C "$DOTNET_ROOT" export PATH=$PATH:$DOTNET_ROOT # 如果PATH声明已经存在,则添加: $HOME/dotnet 到PATH路径末尾 # 如果之前没有声明过PATH,则添加: PATH=$PATH:$HOME/dotnet # 该行添加到文件末尾 DOTNET_ROOT=$HOME/dotnet
-
执行
source ~/.zshrc
使文件生效 -
输出路径查看是否配置成功
echo $PATH
-
查看是否安装了指定版本:
dotnet --version