如何让VS2022中两个.NET Core项目各自用对应版本编译?
同一解决方案下不同.NET版本项目分别编译的解决办法
先检查项目自身的目标框架设置
右键项目→属性→应用程序,确认.NET 5项目的目标框架选的是.NET 5.0,.NET 6项目选的是.NET 6.0,这是最基础的配置,别漏了。正确配置
global.json
别在每个项目目录单独放这个文件,直接在解决方案根目录创建一个,内容参考下面的格式:{ "sdk": { "allowPrerelease": false, "version": "6.0.417", // 填你电脑上已安装的最高稳定版.NET 6 SDK版本号 "rollForward": "latestMinor" } }这个配置会让VS根据每个项目的目标框架,自动匹配对应的SDK版本——.NET 5项目会调用已安装的.NET 5 SDK,.NET 6项目则用你指定的.NET 6 SDK,不会统一跑.NET 7。
清理缓存并重启VS
关闭VS,删掉解决方案目录下的.vs文件夹,还有每个项目里的bin和obj目录,再重新打开解决方案编译,避免缓存干扰SDK版本识别。确认对应SDK已安装
打开命令提示符,输入dotnet --list-sdks,检查输出里有没有.NET 5.x和.NET 6.x的SDK。如果没有,去微软官网下载安装对应版本的SDK就行。
内容的提问来源于stack exchange,提问作者Thomas W.
相关产品推荐
相关产品推荐

