temporalio / sdk-dotnet

Temporal .NET SDK

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

[Feature Request] Clarify in README the role of the native shared library

cretz opened this issue · comments

Describe the solution you'd like

Unlike all-managed libraries that many are used to, this SDK requires a shared library. This is temporal_sdk_bridge.dll on Windows, libtemporal_sdk_bridge.so on Linux, libtemporal_sdk_bridge.dylib on macOS, etc and different ones are for different arch's. By default dotnet build will copy the artifact to the proper place based on the machine it is building on. But many people may be cross-compiling, so they need to set something like --runtime linux-x64 when invoking dotnet build.

We need to make clear this is backed by an unmanaged native shared library, which RIDs we support, and that they need to be explicitly provided when building for a different platform than where the build runs. Can also just provide some general information about how it works and why we do it (the idea of a high-quality .NET library backed by a Rust core is interesting regardless).