[Feature Request] Native Windows ARM64 Support for .NET SDK (Surface Pro/Snapdragon X Elite)

I am developing a .NET application on a Surface device with a Snapdragon X Elite processor (Windows 11 ARM64). I am unable to run the Temporal .NET SDK natively because the required native bridge libraries (temporal_sdk_bridge) are missing for the win-arm64 runtime identifier.

Current Behavior
When attempting to initialize a TemporalClient on a Windows ARM64 device, the application crashes with a DllNotFoundException:

Unable to load DLL 'temporal_sdk_bridge' or one of its dependencies: The specified module could not be found.

Steps to Reproduce

  1. Create a new .NET 8/9 console application on a Windows ARM64 device (e.g., Surface Pro 11).

  2. Install the Temporalio NuGet package (latest version).

  3. Attempt to connect to a Temporal server:

    await TemporalClient.ConnectAsync(new TemporalClientConnectOptions { TargetHost = "localhost:7233" });

  4. Application crashes immediately.

Workarounds Attempted
I tried forcing the application to run under x64 emulation by setting <RuntimeIdentifier>win-x64</RuntimeIdentifier> and <PlatformTarget>x64</PlatformTarget>.
While this allows the temporal_sdk_bridge.dll (x64 version) to be present, it introduces downstream issues with other native dependencies (like grpc_csharp_ext.x64.dll) causing BadImageFormatException during assembly scanning, and generally degrades performance due to emulation.

Request
With the increasing popularity of Windows on ARM devices (Surface, ThinkPad, Dell XPS with Snapdragon), native support is becoming critical for developers.

Could you please:

  1. Provide a win-arm64 build of the temporal_sdk_bridge in future NuGet packages?

  2. Alternatively, provide instructions on how to manually build the bridge for Windows ARM64 if a pre-built binary isn’t planned soon?

Environment

  • Device: Microsoft Surface (Snapdragon X Elite)

  • OS: Windows 11 24H2 (ARM64)

  • .NET Version: .NET 9.0

  • Temporal SDK Version: [1.9.0]

This was just added in Support Windows ARM64 by maciejdudko · Pull Request #541 · temporalio/sdk-dotnet · GitHub and will be released as part of our next release (which should be in not too long). In the meantime, you can either build yourself, of you can grab the nuget-package artifact on the latest Build Package GH workflow run.

1 Like