Fedora37重装.NET SDK7.0后libhostpolicy.so缺失问题求助
解决Fedora 37上.NET 7.0安装后libhostpolicy.so缺失错误
在Fedora 37环境中,卸载旧版.NET组件后安装dotnet-sdk-7.0,执行dotnet --version时出现如下错误:
遇到致命错误。执行应用所需的库'libhostpolicy.so'未在'/usr/share/dotnet/shared/Microsoft.NETCore.App/7.0.4'中找到。
从dotnet --info输出可看出核心问题:Host版本为7.0.5,但对应运行时版本为7.0.4,同时残留大量6.x版本的.NET运行时,且DOTNET_ROOT环境变量指向/usr/lib64/dotnet,与实际安装路径/usr/share/dotnet不匹配。
步骤1:彻底清理所有.NET相关组件
执行命令完全移除所有.NET包及残留文件:
sudo dnf remove -y dotnet* aspnetcore* netstandard* sudo rm -rf /usr/share/dotnet /usr/lib64/dotnet sudo rm -rf ~/.dotnet ~/.nuget
步骤2:修复环境变量
检查并删除错误的DOTNET_ROOT配置:
- 编辑系统级配置文件:
sudo vi /etc/profile或sudo vi /etc/environment - 编辑用户级配置文件:
vi ~/.bashrc或vi ~/.zshrc(根据你使用的shell选择)
找到包含DOTNET_ROOT=/usr/lib64/dotnet的行,删除或注释掉,然后重新加载环境变量:
source ~/.bashrc
步骤3:重新安装.NET 7.0 SDK
刷新DNF缓存后重新安装:
sudo dnf clean all sudo dnf update -y sudo dnf install -y dotnet-sdk-7.0
步骤4:验证安装
执行以下命令确认版本匹配且错误消除:
dotnet --version dotnet --info
内容的提问来源于stack exchange,提问作者eliassal
相关产品推荐
相关产品推荐

