Error on ARM64 Windows 11 when executing dotnet.exe #249
-
This test https://github.com/icsharpcode/ILSpy/blob/master/ICSharpCode.Decompiler.Tests/CorrectnessTestRunner.cs#L38 calls the underlying dotnet.exe compilation that is wrapped with CliWrap https://github.com/icsharpcode/ILSpy/blob/master/ICSharpCode.Decompiler.Tests/Helpers/Tester.cs#L135. That has worked and still is working great on x64. On ARM64 I get the following:
If I take the command and paste it in Terminal, even though I build win-x86, it runs just fine with no complaints whatsover. CliWrap is latest, .NET 8.0 latest from yesterday's Patch Tuesday, same for VS. Any ideas (and possibly how to debug?)? |
Beta Was this translation helpful? Give feedback.
Replies: 5 comments 3 replies
-
Try running it with |
Beta Was this translation helpful? Give feedback.
-
It still throws with ExecuteBufferedAsync (and thus result = is null), but the exception text in the VS debugger is more helpful:
The global.json
I am racking my mind why that would behave that way... setting to .303 doesn't help. PS as well as command both execute dotnet.exe nicely, so those two find dotnet correctly. Q then is why the non-interactive variation with CliWrap fails... almost looks like PATH isn't picked up. |
Beta Was this translation helpful? Give feedback.
-
Right, |
Beta Was this translation helpful? Give feedback.
-
|
Beta Was this translation helpful? Give feedback.
-
I let that error message simmer a little bit - and then it dawned on me: there is an x64 RID on that test project, and thus it was starting the CLI in that process mode as well, and of course there is no x64 net8.0 SDK on that machine, only the ARM64 version. Setting
made the unmodified code work right away. Although I am still surprised that the prior full-path-variant worked.... |
Beta Was this translation helpful? Give feedback.
I let that error message simmer a little bit - and then it dawned on me: there is an x64 RID on that test project, and thus it was starting the CLI in that process mode as well, and of course there is no x64 net8.0 SDK on that machine, only the ARM64 version. Setting
<RuntimeIdentifier>win-arm64</RuntimeIdentifier>
made the unmodified code work right away. Although I am still surprised that the prior full-path-variant worked....