You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

升级Visual Studio for Mac 8.10后无法识别.NET 5.0/6.0编译报错

错误说明

升级Visual Studio for Mac至8.10版本并安装.NET 6.0 SDK后,原本.NET 5.0可正常构建的项目编译失败,报错信息如下:

/Users/myusername/Library/Caches/VisualStudio/8.0/MSBuild/7750_1/Sdks/Microsoft.NET.Sdk/targets/Microsoft.PackageDependencyResolution.targets(5,5): Error NETSDK1005: Assets file '/Users/myusername/Documents/myProjectName/myproject.Core/obj/project.assets.json' doesn't have a target for '.NETFramework,Version=v5.0'. Ensure that restore has run and that you have included 'net50' in the TargetFrameworks for your project. (NETSDK1005)

报错中文含义:project.assets.json资产文件不包含.NETFramework,Version=v5.0对应的目标配置,请确认已执行NuGet还原操作,且项目的TargetFrameworks配置中包含net5.0。

核心原因

该错误是项目缓存、IDE全局缓存和项目目标框架配置不匹配导致的,和SDK安装是否成功无直接关联:升级IDE和SDK后,旧的project.assets.json文件是基于之前的目标框架生成的,不包含现有配置要求的目标框架信息,MSBuild读取旧文件时就会抛出该错误。

修复步骤
  • 清理项目本地缓存:右键点击解决方案选择「清理所有」,手动删除所有项目目录下的bin、obj文件夹,移除旧的还原生成文件。
  • 核对项目目标框架配置:打开项目的.csproj文件,检查<TargetFramework>/<TargetFrameworks>节点配置:
    • 若需同时兼容.NET5和.NET6,配置为<TargetFrameworks>net5.0;net6.0</TargetFrameworks>
    • 若仅需使用.NET6,配置为<TargetFramework>net6.0</TargetFramework>
  • 清理IDE全局缓存:点击顶部菜单栏「Visual Studio」→「清除缓存」,完成后重启Visual Studio for Mac。
  • 重新还原包并编译:重启后右键点击解决方案选择「还原NuGet包」,还原完成后重新执行编译即可。
验证排查

如果上述操作后仍然报错,可打开终端进入项目根目录,执行dotnet build命令直接编译:

  • 若命令行编译正常:重复清理IDE缓存步骤即可解决IDE侧的配置问题
  • 若命令行也报错:检查.csproj配置是否存在拼写错误,确认已安装对应版本的.NET SDK。

内容的提问来源于stack exchange,提问作者Nagesh Andani

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 21:24:06