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)范围内寻找已安装的最高次版本。

相关推荐
hez20103 天前
在 .NET 上构建超大托管数组
c#·.net·.net core·gc·clr
唐青枫9 天前
线程不是越多越快:C#.NET Thread 生命周期、同步与后台工作线程实战
c#·.net
唐青枫10 天前
别只会反射:C#.NET Emit 动态生成代码实战详解
c#·.net
Caco_D10 天前
一行代码抓遍全网 20 个热榜!Aneiang.Pa 4.0 发布 — 极简 .NET 爬虫库
爬虫·.net
咕白m62510 天前
.NET 环境下 Word 超链接批量提取方案
c#·.net
小码编匠11 天前
C# 工控上位机必备:数据转换工具类与十个核心模块
后端·c#·.net
唐青枫13 天前
别再乱用 StartNew:C#.NET TaskFactory 任务调度实战详解
c#·.net
Data-Miner16 天前
大语言模型+智能体AI,122页PPT详解落地应用培训!
人工智能·microsoft·语言模型