类似于dotnet/dotnet docker#1537但我在独立机器上的CenOS8(不是Docker(上也有同样的错误。在2020年12月23日通过最新更新清除新的CentOS 8。控制台中:
sudo dnf install aspnetcore-runtime-3.1
-正常
dotnet
-OK(使用手动显示(
dotnet --info
-错误:
A fatal error occurred, the folder [/usr/share/dotnet/host/fxr] does not contain any version-numbered child folders
dotnet --list-runtimes
-错误:A fatal error occurred, the folder [/usr/share/dotnet/host/fxr] does not contain any version-numbered child folders
dotnet *.dll
-错误:A fatal error occurred, the folder [/usr/share/dotnet/host/fxr] does not contain any version-numbered child folders
文件夹CCD_ 9实际上是空的。尝试安装SDK-无效果
如果dotnet sdk是版本5.0
步骤1.-删除sdk
sudo dnf remove dotnet-sdk-5.0
步骤2.-删除文件夹
sudo rm -rf /usr/share/dotnet
sudo rm -rf /usr/bin/dotnet
sudo rm -rf /etc/yum.repos.d/microsoft-prod.repo
步骤4.-清理并升级。
sudo dnf clean all
sudo dnf upgrade
步骤5.-重新启动系统
sudo init 6
步骤6.-最后
sudo dnf install dotnet-sdk-5.0
在将系统更新到Fedora 32后,我也遇到了同样的问题。问题是,我以前安装过dotnet-runtime-2.1,但Fedora 32附带了3.1。
如果您的dotnet应用程序与3.1兼容,您可以简单地卸载旧的运行时。我就是这么做的:
- 检查已安装的dotnet运行时:
$ rpm -qa | grep dotnet
dotnet-runtime-2.1-2.1.12-1.x86_64
dotnet-runtime-deps-2.1-2.1.12-1.x86_64
dotnet-hostfxr-2.1-2.1.12-1.x86_64
dotnet-host-3.1.10-1.fc32.x86_64
在我的案例中,2.1版本是我自己安装的。3.1由系统安装(标记有fc32(
- 删除旧版本:
dnf remove dotnet-runtime-2.1
- 要安装2.1,我之前必须添加不再需要的microsoft回购:
rm /etc/yum.repos.d/microsoft-prod.repo
- 由于某种未知原因,卸载2.1也卸载了3.1。按照通常的方式安装:
dnf install dotnet-runtime-3.1
dotnet --info
应再次工作
有关更多信息或您的应用程序是否需要dotnet 2.1:
https://github.com/dotnet/core/issues/4655