首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >发生了致命错误。文件夹[/usr/share/dotnet/host/fxr]不存在

发生了致命错误。文件夹[/usr/share/dotnet/host/fxr]不存在
EN

Stack Overflow用户
提问于 2022-09-17 09:25:54
回答 4查看 10.1K关注 0票数 26

Ubuntu22.04 dotnet -info在更新后无法访问dotnet。重新安装dotnet和vscode没有帮助

在这里输入图像描述

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2022-09-29 17:09:09

当.NET (核心)第一次发布时,它还没有在官方的Ubuntu中发布,所以人们添加了微软APT回购来安装它。

现在,这些包是Ubuntu的一部分,它们与Microsoft包冲突。此错误是混合包的结果。

所以你需要选择一个你要使用的,并确保它们不混合。就我个人而言,我决定坚持使用微软的软件包。

首先,删除所有现有的包以达到干净的状态:

代码语言:javascript
运行
复制
sudo apt remove dotnet*
sudo apt remove aspnetcore*
sudo apt remove netstandard*

然后,在/etc/apt/preferences.d中创建一个文件(我将其命名为99microsoft-dotnet.pref,遵循这样的约定,即此类*.d目录中的文件通常以2位数字作为前缀,以便按可预测的顺序排序和加载),内容如下:

代码语言:javascript
运行
复制
Package: *
Pin: origin "packages.microsoft.com"
Pin-Priority: 1001

然后,定期更新和安装:

代码语言:javascript
运行
复制
sudo apt update
sudo apt install dotnet-sdk-6.0

如果您希望使用正式的Ubuntu包,请按照上面的方式执行,但不要创建/etc/apt/preferences.d条目,只需删除Microsoft:

代码语言:javascript
运行
复制
sudo rm /etc/apt/sources.list.d/microsoft-prod.list

但是,请注意,Microsoft包含其他包,如PowerShell、Server命令行工具等,因此删除它可能是不可取的。

有关这一问题和各种解决方案的更多信息可在这里获得:

票数 64
EN

Stack Overflow用户

发布于 2022-09-17 18:38:56

为我尝试这个解决方案https://github.com/dotnet/sdk/issues/27082#issuecomment-1211143446它解决了问题

票数 10
EN

Stack Overflow用户

发布于 2022-10-26 06:42:22

我也犯了同样的错误,我确实用微软的软件包安装了.Net。我认为问题在于,如果您有过关于Ubuntu和.Net包(通过Jammy或PMC的F.X)的旧的.Net或混合场景。顺便说一句,我解决了我的问题,坚持使用Ubuntu包,并运行了这个bash脚本:

代码语言:javascript
运行
复制
# First, try to remove/uninstall older .Net, if any, then install .Net 6
echo "$(tput setaf 3)Installing .Net 6$(tput sgr0)"
sudo apt remove 'dotnet*'
sudo apt remove 'aspnetcore*'
sudo apt remove 'netstandard*'
sudo rm /etc/apt/sources.list.d/microsoft-prod.list
sudo rm /etc/apt/sources.list.d/microsoft-prod.list.save
sudo apt update
sudo apt install dotnet6
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73753672

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档