Problem
On a Mac with an Apple silicon processor, Rider does not load any project after an update of Rider or macOS. Every project in the Solution Explorer shows "load failed", and the console shows "Can not start process".
The backend log (backend.<date>.log in the Rider log bundle) contains errors like these:
|E| MsBuildSessionHolder | Can not start process An error occurred trying to start process '/usr/local/share/dotnet/x64/dotnet' with working directory '/'. Bad CPU type in executable
NativeErrorCode = 86
|E| MsBuildSessionHolder | Can not start process An error occurred trying to start process '/Library/Frameworks/Mono.framework/Versions/6.12.0/bin/mono-sgen64' with working directory '/'. Bad CPU type in executable
Reported with Rider 2026.2.2 on macOS 27.0.
Cause
Rider for Apple silicon runs natively, and it starts MSBuild through the .NET SDK or Mono that it finds on the Mac. In this case, the only .NET SDK on the Mac is the Intel (x64) build in /usr/local/share/dotnet/x64, and Mono is also an Intel build.
macOS can run Intel programs only through Rosetta 2. When Rosetta 2 is not installed, macOS stops each MSBuild process with Bad CPU type in executable, so no project loads. In the reported case, Rosetta 2 was missing after a macOS update.
Resolution
Use one or both of the options below.
Install Rosetta 2
This option makes the existing Intel .NET SDK and Mono work again. It is also necessary for projects that Rider loads with Mono MSBuild, for example classic .NET Framework projects and Visual Studio database projects.
- Open Terminal.
- Run
softwareupdate --install-rosetta --agree-to-license. - Restart Rider and reopen the solution.
Rosetta 2 is a temporary solution. According to Apple's Rosetta announcement, Rosetta is available through macOS 27 and is removed from macOS 28, except for a small set of legacy frameworks.
Install the Arm64 .NET SDK
This option does not need Rosetta 2 and works for SDK-style projects.
- Open the .NET download page and select the necessary .NET version.
- Download the macOS Arm64 SDK installer and run it. The Arm64 SDK installs to
/usr/local/share/dotnet/. - In Rider, open Settings | Build, Execution, Deployment | Toolset and Build.
- In .NET CLI executable path, set
/usr/local/share/dotnet/dotnet. - In MSBuild version, select the MSBuild from the Arm64 SDK, not the Mono MSBuild.
- Reopen the solution.
If the solution has a global.json file that pins an SDK version, install the Arm64 build of that version.
Comments
0 comments
Please sign in to leave a comment.