Visual Studio 2022 Mac M1 .NET 6,无法加载文件或程序集“Microsoft.Build”

Ner*_*Ner 8 c# .net-core asp.net-core-webapi .net-6.0 visual-studio-2022

我在 Visual Studio 2022 Mac M1 芯片上遇到 .NET 6 问题。发生的情况是,当我想要构建或清理我的 WebApi 项目时,出现以下错误。

The operation failed due to an internal error: Could not load file or assembly 'Microsoft.Build, Version=15.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'. An attempt was made to load a program with an incorrect format.
Run Code Online (Sandbox Code Playgroud)

这就是我的 dotnet --info命令

.NET SDK (reflecting any global.json):
 Version:   6.0.200
 Commit:    4c30de7899

Runtime Environment:
 OS Name:     Mac OS X
 OS Version:  12.2
 OS Platform: Darwin
 RID:         osx.12-x64
 Base Path:   /usr/local/share/dotnet/x64/sdk/6.0.200/

Host (useful for support):
  Version: 6.0.2
  Commit:  839cdfb0ec

.NET SDKs installed:
  3.1.416 [/usr/local/share/dotnet/x64/sdk]
  5.0.405 [/usr/local/share/dotnet/x64/sdk]
  6.0.102 [/usr/local/share/dotnet/x64/sdk]
  6.0.200 [/usr/local/share/dotnet/x64/sdk]

.NET runtimes installed:
  Microsoft.AspNetCore.App 3.1.22 [/usr/local/share/dotnet/x64/shared/Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 5.0.14 [/usr/local/share/dotnet/x64/shared/Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 6.0.2 [/usr/local/share/dotnet/x64/shared/Microsoft.AspNetCore.App]
  Microsoft.NETCore.App 3.1.22 [/usr/local/share/dotnet/x64/shared/Microsoft.NETCore.App]
  Microsoft.NETCore.App 5.0.14 [/usr/local/share/dotnet/x64/shared/Microsoft.NETCore.App]
  Microsoft.NETCore.App 6.0.2 [/usr/local/share/dotnet/x64/shared/Microsoft.NETCore.App]`

To install additional .NET runtimes or SDKs:
  https://aka.ms/dotnet-download
Run Code Online (Sandbox Code Playgroud)

我尝试了很多方法,但没有一个有效。我会提供任何帮助!

Ric*_*lff 2

我面临着同样的问题,并且我能够使其发挥作用。(也是Mac M1芯片)

但我做了几项操作,我不确定哪一项负责修复它。

我认为我的问题与安装“Visual Studio 2019 for Mac”和“Visual Studio 2022 Preview for Mac”有关。

我已经卸载了两个。然后我删除了所有 SDK 文件,清理了两者:

/usr/local/share/dotnet/x64
Run Code Online (Sandbox Code Playgroud)

/usr/local/share/dotnet/
Run Code Online (Sandbox Code Playgroud)

(YMMV 这里,我用这篇文章来发现这些路径)

然后我只安装了“Visual Studio 2022 Preview for Mac”及其net6.0 sdk。

打开我的解决方案,它不起作用(因为我的解决方案是net5.0)。

然后我安装了旧的“Visual Studio 2019 for Mac”(以安装 x64 net5.0 sdk)。

当我在新的“VS 2022 Preview”中打开该解决方案时,它现在可以工作了。

在某个特定时刻,我更新了首选项中的 .NET Core SDK 位置:

VSPreview Preferences,然后是 SDK Locations,然后是 .net core

到 /usr/local/share/dotnet/dotnet (我认为这是 net6 的位置)

我知道我的答案并不准确,但我依靠社区帮助来测试这些步骤,然后我可以在此处进行编辑。:)