在Ubuntu 20.04.2 LTS上找不到dotnet-sdk-5.0。

我目前正在使用.NET Core 3.1,并希望将其升级到5.0版本。我尝试按照这个指南进行操作:在Ubuntu上安装.NET SDK或.NET Runtime
wget https://packages.microsoft.com/config/ubuntu/20.04/packages-microsoft-prod.deb -O packages-microsoft-prod.deb
sudo dpkg -i packages-microsoft-prod.deb

sudo apt-get update; \
  sudo apt-get install -y apt-transport-https && \
  sudo apt-get update && \
  sudo apt-get install -y dotnet-sdk-5.0

但是看起来找不到dotnet-sdk-5.0
E: Unable to locate package dotnet-sdk-5.0
E: Couldn't find any package by glob 'dotnet-sdk-5.0'
E: Couldn't find any package by regex 'dotnet-sdk-5.0'

一个快速的缓存转储只会返回旧版本。
➜  ~ sudo apt-cache dump | grep dotnet-sdk
Package: dotnet-sdk-2.2
Package: dotnet-sdk-3.1

它在我也运行20.04的笔记本上完全正常工作,但在这台台式机上却不行。真奇怪。我有什么遗漏吗?

uname -m; cat /etc/apt/sources.list.d/microsoft-prod.list 返回什么?在运行 sudo apt-get update 时是否遇到任何错误? - Kulfy
这个问题可能是因为我从19.04升级到20.04导致的。所以我手动添加了一个20.04的源,命令是sudo apt-add-repository https://packages.microsoft.com/ubuntu/20.04/prod - tab87vn
4个回答

我在Ubuntu上遇到了同样的错误。运行以下命令解决了问题:
wget https://packages.microsoft.com/config/ubuntu/21.04/packages-microsoft-prod.deb -O packages-microsoft-prod.deb
sudo dpkg -i packages-microsoft-prod.deb
sudo apt-get update; \
sudo apt-get install -y apt-transport-https && \
sudo apt-get update && \
sudo apt-get install -y aspnetcore-runtime-5.0

所以,我终于成功安装了版本5,通过添加20.04的软件源。
sudo apt-add-repository https://packages.microsoft.com/ubuntu/20.04/prod

安装虽然成功,但仍然存在一些错误。
E: The repository 'https://packages.microsoft.com/ubuntu/20.04/prod disco Release' does not have a Release file.
N: Updating from such a repository can't be done securely, and is therefore disabled by default.
N: See apt-secure(8) manpage for repository creation and user configuration details.
N: Skipping acquisition of configured file 'main/binary-i386/Packages', as repository 'https://packages.microsoft.com/ubuntu/20.04/prod focal InRelease' doesn't support architecture 'i386'


我在Ubuntu Jammy 22.04上遇到了同样的问题。
你需要在Ubuntu Jammy中安装.Net版本6,因为版本5不在存储库中。
sudo apt-get install dotnet-sdk-6.0