Head Pic:Nostalgic Boy / NOEYEBROW画集
莫名其妙
好像是误操作或者什么原因导致了 .Net SDK 直接消失不见,然后打开 Visual Studio 2019 时项目直接被卸载,然后重载就报错,这个问题我遇上多次了,但是都很奇怪的解决了,有的时候是卸载重启然后装上去就好了,有的时候在Visual Studio Install直接全部卸载重装又好了,挺莫名其妙的
无法找到 .NET Core SDK。请检查确保已安装此项且 global.json 中指定的版本(如有)与所安装的版本相匹配
解决经历
先是Google和Baidu了一下分别是重装和添加环境变量以及修改global.json文件
重装
- 直接在程序与功能中卸载
- 重启
- 重新安装
在
CMD/PowerShell
中输入dotnet --info
若在 .NET SDKs installed
一行下面看到你安装的sdk则表明成功
添加环境变量
- 打开设置、转到系统>关于,在关于底部有一个高级系统设置
- 进入后点击环境变量
- 在用户变量与环境变量中均检查是否有如下变量
C:\Program Files\dotnet
C:\Program Files (x86)\dotnet
- 若没有则点击添加,变量名自取即可
- 在
CMD/PowerShell
中输入
dotnet --info
若在 .NET SDKs installed
一行下面看到你安装的sdk则表明成功
修改global.json
大致就是找到项目的global.json
将其SDK版本修改为本机自带版本就行,但是我不可能糊涂到这种地步所以我没有尝试
环境变量顺序问题
引用评论中
shiraha1024
先生的建议
如评论所说,在.NET 5.0后不再支持x86环境,但是在安装时环境变量排序是x86目录在前,由于调用时x86存在.Net但是不存在.Net 5.0因此会报错,此时只需要在环境变量中调换顺序为
C:\Program Files\dotnet
C:\Program Files (x86)\dotnet
即可
解决方案
在使用本解决方案前务必尝试第四个方法,将环境变量位置调换后再观察是否正常!
本人的解决方法属实无奈之举,重装后以及添加变量后在cmd
中依旧查找不到自己的sdk
在安装sdk后必定在C:\Program Files\dotnet
中会有sdk
文件夹,将其丢到C:\Program Files (x86)\dotnet
中,然后你再在cmd
中输入
dotnet --info
会惊讶的发现报错了
C:\Users\XiaoMouz>dotnet --info
Unhandled exception. System.BadImageFormatException: 试图加载格式不正确的程序。 (0x8007000B)
但是能打开Visual Studio 2019的项目,是不是好啦
本来按照常理这明显是环境变量的问题,可是添加后却不能解决,很是迷惑
此方法会搞乱你的电脑环境(大嘘),在卸载时务必记得删除对应文件夹内的文件hahaha
2 comments
正好也遇到了这个莫名其妙的问题,看到最后一段明白了,应该是环境变量的问题,去对比了一下环境变量和文件目录果然是这样。。。
微软在安装的时候把x86的环境变量放在了x64环境变量的上面,所以使用dotnet --info命令去查的时候会去x86目录下查而不是x64,偏偏.NET 5.0已经不支持x86了所以必定会报找不到SDK。
正确的解决方法应该是把环境变量里x64的环境变量挪到x86前面,像这样 → https://imgur.com/n2DwDjL
微软的阿三行不行啊【捶桌
草,阿三疯狂埋坑
我重装系统了,环境也弄好了)所以这个也就是存个档了