ABP Studio doesn't work properly on Windows on ARM
Is there an existing issue for this?
- [X] I have searched the existing issues
Description
Background:
Microsoft is pushing ARM with its new Copilot+ PCs that are for now only available with ARM processors. Most of the tools used for development (VS, VSCode, DataGrip, Docker Desktop) already released an ARM version. WOA (Windows on Arm) also has an "Emulator" that can run x86 applications but with some performance degradation.
Current State:
Currently, ABP Studio can run on WOA thanks to the x86 emulator, and most of the features are working. except for the monitoring part
Reproduction Steps
- Install ABP Studion on Windows on ARM
- Generate a new Solution
- Build All
- Run All
Expected behavior
Monitor solution in a running state
Actual behavior
The solution is running, and browsable:
But none of the monitoring tabs work
According to the logs ABP Studio cannot connect to the Backend service
2024-08-16 13:49:19.469 +05:00 [INF] Trying to connect to ABP Studio Backend: http://localhost:38271
2024-08-16 13:49:23.537 +05:00 [WRN] Could not connect to ABP Studio Backend! Detail: Failed to connect to StreamingHub 'IStudioBackendHub'. (Status(StatusCode="Unavailable", Detail="Error starting gRPC call. HttpRequestException: No connection could be made because the target machine actively refused it. (localhost:38271) SocketException: No connection could be made because the target machine actively refused it.", DebugException="System.Net.Http.HttpRequestException: No connection could be made because the target machine actively refused it. (localhost:38271)
---> System.Net.Sockets.SocketException (10061): No connection could be made because the target machine actively refused it.
at System.Net.Sockets.Socket.AwaitableSocketAsyncEventArgs.System.Threading.Tasks.Sources.IValueTaskSource.GetResult(Int16 token)
at System.Net.Sockets.Socket.<ConnectAsync>g__WaitForConnectWithCancellation|285_0(AwaitableSocketAsyncEventArgs saea, ValueTask connectTask, CancellationToken cancellationToken)
at System.Net.Http.HttpConnectionPool.ConnectToTcpHostAsync(String host, Int32 port, HttpRequestMessage initialRequest, Boolean async, CancellationToken cancellationToken)
--- End of inner exception stack trace ---
at System.Net.Http.HttpConnectionPool.ConnectToTcpHostAsync(String host, Int32 port, HttpRequestMessage initialRequest, Boolean async, CancellationToken cancellationToken)
at System.Net.Http.HttpConnectionPool.ConnectAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
at System.Net.Http.HttpConnectionPool.AddHttp2ConnectionAsync(QueueItem queueItem)
at System.Threading.Tasks.TaskCompletionSourceWithCancellation`1.WaitWithCancellationAsync(CancellationToken cancellationToken)
at System.Net.Http.HttpConnectionPool.SendWithVersionDetectionAndRetryAsync(HttpRequestMessage request, Boolean async, Boolean doRequestAuth, CancellationToken cancellationToken)
at System.Net.Http.RedirectHandler.SendAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
at Grpc.Net.Client.Internal.GrpcCall`2.GetResponseHeadersCoreAsync()"))
Regression?
No response
Known Workarounds
No response
Version
0.7.2
User Interface
Common (Default)
Database Provider
None/Others
Tiered or separate authentication server
None (Default)
Operation System
Windows (Default)
Other information
No response
We're currently working on ARM support. It'll be available soon, thanks for your patience 🙏