CentOS .NET Core 6.0 安装错误的运行时版本

CentOS .NET Core 6.0 installs wrong runtime version

这是我 运行 试图在 CentOS 8 Stream 上安装 .net core 6.0 的 2 个命令:

sudo dnf install dotnet-runtime-6.0
Last metadata expiration check: 0:12:04 ago on Tue 23 Nov 2021 17:38:47 UTC.

. . .

Installed:
  dotnet-host-6.0.0-0.6.28be3e9a006d90d8c6e87d4353b77882829df718.el8.x86_64                                                                                
  dotnet-hostfxr-6.0-6.0.0-0.6.28be3e9a006d90d8c6e87d4353b77882829df718.el8.x86_64                                                                         
  dotnet-runtime-6.0-6.0.0-0.6.28be3e9a006d90d8c6e87d4353b77882829df718.el8.x86_64                                                                         
  lttng-ust-2.8.1-11.el8.x86_64                                                                                                                            
  userspace-rcu-0.10.1-4.el8.x86_64                                                                                                                        

Complete!

[/usr/local/bin]$  dotnet --list-runtimes
Microsoft.NETCore.App 6.0.0-rc.2.21470.23 [/usr/lib64/dotnet/shared/Microsoft.NETCore.App]

Install 说它安装了 6.0.0-0.6 但实际版本是 6.0.0-rc.2.21470.23 并且我的应用程序失败并出现错误:

It was not possible to find any compatible framework version
The framework 'Microsoft.NETCore.App', version '6.0.0' (x64) was not found.
  - The following frameworks were found:
      6.0.0-rc.2.21470.23 at [/usr/lib64/dotnet/shared/Microsoft.NETCore.App]

不手动安装 .net 可以修复吗?

解决方案(有效)

  1. 将回购添加到 OS: sudo rpm -Uvh https://packages.microsoft.com/config/centos/8/packages-microsoft-prod.rpm

  2. 将其优先级更改为在 OS 之前: 回声 'priority=50' | sudo tee -a /etc/yum.repos.d/microsoft-prod.repo

  3. 安装 sudo dnf install dotnet-runtime-6.0

  4. 重启机器

CentOS 8 Stream 似乎有一个过时的 .NET 6 版本。

版本老是我的错;我需要更新 CentOS Stream 8 中的组件(它实际上复制了 RHEL 8.6 中的内容,这就是我将修复的那个)。

dotnet --info显示的版本是正确的。

RPM 包版本控制是 CentOS(以及直到最近的 RHEL 和 Fedora)无法反映即将发布 6.0 的上游预发布版本的一种解决方法。我们被迫使用版本“6.0”和带有“0.X”的 Release 来表示“这是 6.0 的预发布版”。我本可以称它为“6.0-0.6.rc2”,但这个版本甚至不完全是“6.0 RC2”,它是一个 pre-RC2 快照主机(从 dotnet/installer 存储库提交 28be3e9a006d90d8c6e87d4353b77882829df718)。

如果您迫切需要 .NET 6,可以考虑以下选项: