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
Known to occur with Rider 2026.2.2 on macOS 27.0.
Cause
Rider for Apple silicon runs natively. It starts MSBuild through the .NET SDK or Mono that it finds on the Mac. If these are Intel builds, for example the x64 .NET SDK in /usr/local/share/dotnet/x64 or Mono 6.12, macOS needs Rosetta 2 to run them.
When Rosetta 2 is not installed, macOS stops each MSBuild process with Bad CPU type in executable (error code 86), so no project loads.
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.
If a Visual Studio database project still does not load and shows the MSB4278 error, see Rider fails to load sqlproj.
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.