Ubuntu 22.04下.NET 8的dotnet-ef工具运行失败求助
解决Snap安装.NET SDK 8.0.100后dotnet-ef提示缺少8.0.1 runtime的问题
问题场景
- Ubuntu 22.04系统通过snap安装.NET SDK 8.0.100,已按要求配置
DOTNET_ROOT环境变量 - 执行
dotnet tool install --global dotnet-ef成功安装工具,但运行dotnet ef时抛出异常,提示系统仅存在Microsoft.NETCore.App 8.0.0版本,而工具要求8.0.1版本框架
解决方案
方案1:安装与当前runtime匹配的dotnet-ef版本
由于当前SDK 8.0.100对应的runtime是8.0.0,需安装同版本的dotnet-ef工具:
- 先卸载已安装的高版本工具:
dotnet tool uninstall --global dotnet-ef
- 安装8.0.0版本的dotnet-ef:
dotnet tool install --global dotnet-ef --version 8.0.0
方案2:手动安装Microsoft.NETCore.App 8.0.1 runtime
通过微软官方包源补充缺失的runtime版本:
- 导入微软签名密钥:
wget https://packages.microsoft.com/config/ubuntu/22.04/packages-microsoft-prod.deb -O packages-microsoft-prod.deb sudo dpkg -i packages-microsoft-prod.deb rm packages-microsoft-prod.deb
- 安装指定版本的.NET Core runtime:
sudo apt update && sudo apt install -y dotnet-runtime-8.0=8.0.1-1
若需要ASP.NET Core runtime,替换为:
sudo apt install -y aspnetcore-runtime-8.0=8.0.1-1
方案3:更新Snap版.NET SDK至包含8.0.1 runtime的版本
检查并更新Snap中的.NET SDK:
sudo snap refresh dotnet-sdk
更新完成后,SDK会包含匹配的8.0.1 runtime,即可正常运行dotnet ef
内容的提问来源于stack exchange,提问作者Ali Khakpouri
相关产品推荐
相关产品推荐

