Например, dotnet/dotnet-docker#1537 но у меня такая же ошибка на CenOS 8 (не Docker) на отдельной машине. Очистите новую CentOS 8 с последними обновлениями от 23 декабря 2020 г. в консоли:
sudo dnf install aspnetcore-runtime-3.1
- ОК
dotnet
- ОК (показывает с помощью руководства)
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
папка /usr/share/dotnet/host/fxr
действительно пуста. Пытаюсь установить SDK - безрезультатно
У меня была та же проблема после обновления моей системы до Fedora 32. Проблема заключалась в том, что я ранее установил dotnet-runtime-2.1, но Fedora 32 поставляется с включенной версией 3.1.
Если ваше приложение dotnet совместимо с 3.1, вы можете просто удалить старую среду выполнения. Вот как я это сделал:
$ 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
rm /etc/yum.repos.d/microsoft-prod.repo
dnf install dotnet-runtime-3.1
dotnet --info
должен снова работать.Для получения дополнительной информации или если вашему приложению требуется dotnet 2.1:
Если 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
С dotnet 5.0 все работает отлично, но ответ для 3.1