繁体   English   中英

.NET 6 - msbuild 在 VS2022 for Mac 上使用错误的 SDK

[英].NET 6 - msbuild takes wrong SDK on VS2022 for Mac

当我尝试使用 .NET 6.0 构建我的 netcore webapp 项目时,我在 Visual Studio 2022 for Mac(稳定版和 17.3 预览版)上收到 NETSDK1045 错误。

即使我将目标框架设置为 6.0,Visual Studio 也会调用 dotnet sdk 5.0 msbuild

/usr/local/share/dotnet/sdk/ 5.0.408 /Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.TargetFrameworkInference.targets(141,5): error NETSDK1045: Das aktuelle .NET SDK unterstützt .NET 6.0不作为 Ziel。 Geben Sie entweder .NET 5.0 oder niedriger als Ziel an, oder verwenden Sie eine .NET SDK-Version, die .NET 6.0 unterstützt。 0 Warnung(en) 1 费勒

项目文件:

<PropertyGroup>
    <TargetFramework>net6.0</TargetFramework>
    <CopyRefAssembliesToPublishDirectory>false</CopyRefAssembliesToPublishDirectory>
</PropertyGroup>

如果我在命令行上调用 dotnet,则会安装运行时:

[/usr/local/share/dotnet/shared/Microsoft.AspNetCore.App]
    Microsoft.AspNetCore.App 5.0.6 [/usr/local/share/dotnet/shared/Microsoft.AspNetCore.App]
    Microsoft.AspNetCore.App 5.0.11 [/usr/local/share/dotnet/shared/Microsoft.AspNetCore.App]
    Microsoft.AspNetCore.App 5.0.15 [/usr/local/share/dotnet/shared/Microsoft.AspNetCore.App]
    Microsoft.AspNetCore.App 5.0.16 [/usr/local/share/dotnet/shared/Microsoft.AspNetCore.App]
    Microsoft.AspNetCore.App 5.0.17 [/usr/local/share/dotnet/shared/Microsoft.AspNetCore.App]
    Microsoft.AspNetCore.App 6.0.5 [/usr/local/share/dotnet/shared/Microsoft.AspNetCore.App]
    Microsoft.AspNetCore.App 6.0.6 [/usr/local/share/dotnet/shared/Microsoft.AspNetCore.App]
    Microsoft.NETCore.App 5.0.0 [/usr/local/share/dotnet/shared/Microsoft.NETCore.App]
    Microsoft.NETCore.App 5.0.6 [/usr/local/share/dotnet/shared/Microsoft.NETCore.App]
    Microsoft.NETCore.App 5.0.11 [/usr/local/share/dotnet/shared/Microsoft.NETCore.App]
    Microsoft.NETCore.App 5.0.15 [/usr/local/share/dotnet/shared/Microsoft.NETCore.App]
    Microsoft.NETCore.App 5.0.16 [/usr/local/share/dotnet/shared/Microsoft.NETCore.App]
    Microsoft.NETCore.App 5.0.17 [/usr/local/share/dotnet/shared/Microsoft.NETCore.App]
    Microsoft.NETCore.App 6.0.5 [/usr/local/share/dotnet/shared/Microsoft.NETCore.App]
    Microsoft.NETCore.App 6.0.6 [/usr/local/share/dotnet/shared/Microsoft.NETCore.App]

以及 SDK

5.0.402 [/usr/local/share/dotnet/sdk]
5.0.406 [/usr/local/share/dotnet/sdk]
5.0.407 [/usr/local/share/dotnet/sdk]
5.0.408 [/usr/local/share/dotnet/sdk]
6.0.300 [/usr/local/share/dotnet/sdk]
6.0.301 [/usr/local/share/dotnet/sdk]

如何强制 Visual Studio 调用 .net6 sdk 的 msbuild?

使用 global.json 文件

在项目文件夹的根目录中创建一个名为global.json的文件(解决方案文件所在的位置甚至上一层,具体取决于您的文件夹结构)。 它的内容应该类似于

{
  "sdk": {
    "version": "6.0.301"
  }
}

版本应该是您要构建的 SDK 版本(而不是运行时版本)。

创建此文件后,Visual Studio 可能需要重新启动才能正常工作。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM