Visual Studio未在Visual Studio For Mac 2022上使用正确的.NET SDK

rryofs0p  于 2023-01-09  发布在  Mac
关注(0)|答案(3)|浏览(370)

我正在尝试将项目从.net 5升级到.net 6
我正在使用Visual Studio for Mac 2022 V17. 3(我也试过Visual Studio for Mac Preview 2022 V17. 4,但没有运气)
我已经在机器上安装了.net 6 sdk。dotnet --list-sdks的输出是:

dotnet --list-sdks
2.2.100 [/usr/local/share/dotnet/sdk]
3.0.101 [/usr/local/share/dotnet/sdk]
3.1.301 [/usr/local/share/dotnet/sdk]
3.1.419 [/usr/local/share/dotnet/sdk]
3.1.422 [/usr/local/share/dotnet/sdk]
5.0.100 [/usr/local/share/dotnet/sdk]
5.0.408 [/usr/local/share/dotnet/sdk]
6.0.300 [/usr/local/share/dotnet/sdk]
6.0.400 [/usr/local/share/dotnet/sdk]

dotnet --version的输出为:

dotnet --version
6.0.400

我尝试了使用和不使用global.json两种情况。当我尝试使用global.json时,global.json的内容如下:

{
  "sdk": {
    "version": "6.0.400"
  }
}

我也尝试了我的其他6 sdk版本,

{
  "sdk": {
    "version": "6.0.300"
  }
}

项目的TargetFramework设置为net6.0

<TargetFramework>net6.0</TargetFramework>

尽管如此,下面是我尝试从Visual Studio构建时的输出:(从命令行构建)
/usr/本地/共享/dotnet/软件开发工具/5.0.408/软件开发工具/Microsoft.NET.软件开发工具/目标/Microsoft.NET.目标框架推理目标(141,5):错误NETSDK 1045:当前的.NET SDK不支持以.NET 6.0为目标。请以.NET 5.0或更低版本为目标,或者使用支持.NET 6.0的.NET SDK版本。
(bold重点是我自己,在sdk版本上)
它只尝试使用5.0.408
我知道有很多关于堆栈溢出的问题和答案,其中一个例子是this question,唯一的问题是在其他类似问题中提供的解决方案没有解决我的问题。似乎有某种缓存发生,我不能弄清楚。我只是希望Visual Studio使用正确的SDK版本。
如果我从命令行运行dotnet build MySolution.sln,它会使用正确的SDK进行构建。另一方面,Visual Studio则不会。它只使用5.0.408。在我的文件结构中,没有任何global.json指向net 5 SDK。在我的解决方案中,没有任何项目以5为目标,它们都以6为目标。

nafvub8i

nafvub8i1#

我设法解决了这个问题:

  • 从我的计算机中删除5.0.408
  • 从计算机中删除6.0.400
  • 下载5.0.408的全新安装
  • 下载6.0.400的全新安装

如果这不起作用,我找到了另一个解决方案,那就是在解决方案构建属性中取消选中“在mono上用MSBuild构建”。(右键单击解决方案文件,转到属性,“构建〉常规”,取消选中)

cgh8pdjw

cgh8pdjw2#

我试着像你一样但没用。
我已经删除了SDK 5.0.408和6.0.401,如下所示:

version="5.0.408"
sudo rm -rf /usr/local/share/dotnet/sdk/$version
sudo rm -rf /usr/local/share/dotnet/shared/Microsoft.NETCore.App/$version
sudo rm -rf /usr/local/share/dotnet/shared/Microsoft.AspNetCore.All/$version
sudo rm -rf /usr/local/share/dotnet/shared/Microsoft.AspNetCore.App/$version
sudo rm -rf /usr/local/share/dotnet/host/fxr/$version

version="6.0.401"
sudo rm -rf /usr/local/share/dotnet/sdk/$version
sudo rm -rf /usr/local/share/dotnet/shared/Microsoft.NETCore.App/$version
sudo rm -rf /usr/local/share/dotnet/shared/Microsoft.AspNetCore.All/$version
sudo rm -rf /usr/local/share/dotnet/shared/Microsoft.AspNetCore.App/$version
sudo rm -rf /usr/local/share/dotnet/host/fxr/$version`

然后我重新安装了SDK 5.0.408和6.0.401。
但是当我尝试从Visual Studio还原包时,总是出现同样的错误。
还有别的事吗?

sg3maiej

sg3maiej3#

在Visual Studio 2022 for Mac内部,我进入工具,然后SDK管理器,并设置此选项,它在选择此文件后自动检测SDK:

相关问题