我一直很难在我的m1 mac上运行一个现有的dotnet 6应用程序的dotnet
命令,我下载了arm 64版本的dotnet SDK 6.0.401,这似乎使情况变得更糟,当我在vs代码中打开项目时,它就导致了这个错误:
于2022年9月25日下午4:57:13启动OmniSharp服务器目标:/Users/benjamin/dev/vepo_back_end/Vepo.sln
OmniSharp服务器已使用.NET 6.0.401启动。路径:/用户/本杰明/. vscode/扩展名/ms-网络工具包. csharp-1.25.0-达尔文-手臂64/. omnisharp/1.39.0-网络6.0/59074
未处理的异常。系统错误图像格式异常:未能加载文件或程序集“/xbox_vs/xbox_vs/xbox_vs/xbox_vs/xbox_vs/xbox_vs/xbox_vs/xbox_vs/xbox_vs/xbox_vs/xbox_vs/xbox_vs/xbox_vs/xbox_vs/xbox_vs/xbox_vs/xbox_vs/xbox_vs/xbox_vs/xbox_vs/xbox_vs/xbox_vs/xbox_vs/xbox_vs/xbox_vs/xbox_vs/xbox_vs/xbox_vs/xbox_vs/xbox_vs/xbox_vs/xbox_vs/xbox_vs/xbox_vs/xbox_vs/xbox_vs/xbox_vs/xbox_vs/xbox_vs/xbox_vs/vs
文件名:“/用户/本杰明/. vscode/扩展名/ms-网络工具。
我已经重新下载了x86版本,并在vscode扩展中重新安装了C#,但仍然出现同样的错误。我该怎么办?
更新:我现在已经成功地运行了dotnet命令,甚至运行了应用程序。不过,当我打开vs代码时,我仍然有同样的错误信息,所以我仍然有这个问题,但它并没有阻止我做任何事情。
6条答案
按热度按时间mf98qq941#
您是否会意外地将设置
omnisharp.useModernNet
设置为false,或者在任何omnisharp.
设置中包含mono
、path
或sdk
?如果是这样的话,试着把它们全部删除,也可以把
omnisharp.useModernNet
显式地设置为true
(应该是默认值)。如果失败,请尝试:
"omnisharp.path": "latest"
vbopmzt12#
我遇到了同样的问题,我从微软软件包安装了.NET 6. 0. 401,但问题仍然发生。
原来VSCode使用的是之前安装的x64版本,而不是arm64 one。安装程序似乎没有重新定位我的dotnet命令。我重新创建了dotnet链接来纠正arm64 one,错误消失了。
s2j5cfk03#
在我的例子中,只需将C# vscode扩展恢复到版本1.24.4就可以修复它。
实际上,这个版本的问题只存在于在m1 mac上安装了x64.net sdk的人身上。恢复C# vscode扩展,或者下载arm64.net sdk应该可以工作(我恢复了C# vscode扩展)。
mxg2im7a4#
我也遇到过类似的问题。我希望这个解决方案能起作用。
我的解决办法是
扩展-〉设置(滚轮符号)-〉安装另一个版本... -〉1.24.4
基本上,我降级了C#扩展的版本。
siotufzp5#
我在我的M1 Mac上使用dotnet 6.0.x SDK和VSCode时遇到了同样的错误。VSCode无法运行C#调试器,并出现了同样的错误。我检查了文件〉关于VSCode菜单项,并运行了x64版本的VSCode。我卸载了VSCode,然后使用通用安装程序重新安装,现在它显示通用安装。这为我解决了错误。
zpqajqem6#
在Windows上,我也遇到了dotnet x86和x64不兼容的问题。我安装了32位vscode,它安装
ms-dotnettools.csharp-1.25.2-win32-ia32
,它下载x86版本的Omnisharp。但是我的路径上C:\Program Files\dotnet
在C:\Program Files (x86)\dotnet
之前,所以当vscode扩展运行dotnet
时,找到了x64版本,但失败了。修复方法是将
C:\Program Files (x86)\dotnet
移动到我的PATH中的x64 dotnet之前,无论是临时在命令行中,还是在系统环境变量中。