Visual studio2022:找不到指定的SDK“Microsoft.NET.Sdk”

使用 Visual Studio 2022 打开解决方案,发现好几个项目无法加载,项目全部显示为 xxx(已卸载)。

在输出列表中,报以下错误:

error : 找不到指定的 SDK"Microsoft.NET.Sdk"。

我本地没有安装 .NET 8 SDK,但安装了 .NET 10 SDK。

下载安装完 .NET 8 SDK 并重启 VS 后,依然报错"找不到指定的 SDK"。

打开项目根目录下的 global.json 配置文件,发现了以下配置:

bash 复制代码
{
  "sdk": {
    "version": "8.0.0",
    "rollForward": "latestMajor",
    "allowPrerelease": false
  },
  "msbuild-sdks": {
    "Microsoft.Build.NoTargets": "3.7.0",
    "Microsoft.Build.Traversal": "4.1.0"
  }
}

将 "latestMajor" 修改为 "latestMinor" 即可,如下

bash 复制代码
{
  "sdk": {
    "version": "8.0.0",
    "rollForward": "latestMinor",
    "allowPrerelease": false
  },
  "msbuild-sdks": {
    "Microsoft.Build.NoTargets": "3.7.0",
    "Microsoft.Build.Traversal": "4.1.0"
  }
}

当配置为 "rollForward": "latestMajor" 时,.NET CLI 会采用无视主版本,强行滚动到当前电脑上已安装的最高主版本的策略。而Visual Studio 2022 对 .NET 10 不兼容。

当配置为 "rollForward": "latestMinor" 时,不允许跨越主版本(Major)滚动。它规定系统只能在当前指定的主版本(也就是 8.x)范围内寻找已安装的最高次版本。

相关推荐
陈珙2 小时前
.NET AI 实战:用 MCP 把 Claude Code 变成数据库 DBA
架构·.net·技术
码云数智-园园6 小时前
折叠面板不用 JS?<details> 和 <summary> 标签的隐藏用法
microsoft
Miya_Ye6 小时前
Azure AI Search(1)
microsoft·azure·ai search
geovindu9 小时前
CSharp: Template Method Pattern
开发语言·后端·c#·.net·模板方法模式·行为模式
步步为营DotNet9 小时前
【MVP深度】.NET MAF:从单 Agent 到可恢复的多 Agent 工作流
.net
水饺编程11 小时前
第5章,[Win32 章节] :练习程序,BigFontPic
c语言·c++·windows·visual studio
geovindu20 小时前
CSharp: 万年历
开发语言·后端·c#·.net
Lhan.zzZ1 天前
QML 组件库:VS2022 + Qt 静态库方案
开发语言·c++·qt·visual studio
Data_Journal1 天前
Scrapyd:分步教程
开发语言·python·microsoft·golang·编辑器·html·iphone
一直C1 天前
Linux应用软件编程|TCP协议与Socket全套编程(三次握手、四次挥手、报文头部、核心机制)
linux·网络协议·tcp/ip·wireshark·vim·visual studio