Temporalio 0.1.0-alpha1
See the version list below for details.
dotnet add package Temporalio --version 0.1.0-alpha1
NuGet\Install-Package Temporalio -Version 0.1.0-alpha1
<PackageReference Include="Temporalio" Version="0.1.0-alpha1" />
<PackageVersion Include="Temporalio" Version="0.1.0-alpha1" />
<PackageReference Include="Temporalio" />
paket add Temporalio --version 0.1.0-alpha1
#r "nuget: Temporalio, 0.1.0-alpha1"
#:package Temporalio@0.1.0-alpha1
#addin nuget:?package=Temporalio&version=0.1.0-alpha1&prerelease
#tool nuget:?package=Temporalio&version=0.1.0-alpha1&prerelease
Temporal .NET SDK
See:
- NuGet Package (TODO)
- Application Development Guide (TODO)
- API Documentation
- Samples (TODO)
⚠️ UNDER ACTIVE DEVELOPMENT
(for the previous .NET SDK repo, see https://github.com/temporalio/experiment-dotnet)
Quick Start
TODO
Usage
TODO
Development
Build
With dotnet installed with all needed frameworks and Rust installed (i.e.
cargo on the PATH), run:
dotnet build
Or for release:
dotnet build --configuration Release
Code formatting
This project uses StyleCop analyzers with some overrides in .editorconfig. To format, run:
dotnet format
Can also run with --verify-no-changes to ensure it is formatted.
VisualStudio Code
When developing in vscode, the following JSON settings will enable StyleCop analyzers in:
"omnisharp.enableEditorConfigSupport": true,
"omnisharp.enableRoslynAnalyzers": true
Testing
Run:
dotnet test
Can add options like:
--logger "console;verbosity=detailed"to show logs- TODO(cretz): This doesn't show Rust stdout. How do I do that?
--filter "FullyQualifiedName=Temporalio.Tests.Client.TemporalClientTests.ConnectAsync_Connection_Succeeds"to run a specific test--blame-crashto do a host process dump on crash
To help debug native pieces, this is also available as an in-proc test program. Run:
dotnet run --project tests/Temporalio.Tests
Extra args can be added after --, e.g. -- --verbose would show verbose logs and -- --help would show other
options. If the arguments are anything but --help, the current assembly is prepended to the args before sending to the
xUnit runner.
Rebuilding Rust extension and interop layer
To regen core interop from header, install ClangSharpPInvokeGenerator like:
dotnet tool install --global ClangSharpPInvokeGenerator
Then, run:
ClangSharpPInvokeGenerator @src/Temporalio/Bridge/GenerateInterop.rsp
The Rust DLL is built automatically when the project is built. protoc may need to be on the PATH to build the Rust
DLL.
Regenerating protos
Must have protoc on the PATH. Note, for now you must use protoc 3.x until
our GH action downloader is fixed or we change how we download
protoc and check protos (since protobuf
changed some C# source).
Then:
dotnet run --project src/Temporalio.Api.Generator
Regenerating API docs
Install docfx, then run:
docfx src/Temporalio.ApiDoc/docfx.json
TODO:
- Fix generated api doc
- Specifically make
Temporalio.Apihave children collapsed by default - Switch/update template to full width
- Specifically make
- Formatting/style guide:
- Line len 100 max on everything where reasonable
- Rules for options classes
- Shallow-copyable via virtual clone
- Empty constructor and constructor with required params
- TODO(cretz): Validation? Probably don't want attributes?
- Source generator for workflows
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
| .NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 is compatible. |
| .NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
| .NET Framework | net461 was computed. net462 is compatible. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
| MonoAndroid | monoandroid was computed. |
| MonoMac | monomac was computed. |
| MonoTouch | monotouch was computed. |
| Tizen | tizen40 was computed. tizen60 was computed. |
| Xamarin.iOS | xamarinios was computed. |
| Xamarin.Mac | xamarinmac was computed. |
| Xamarin.TVOS | xamarintvos was computed. |
| Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETCoreApp 3.1
- Castle.Core (>= 5.1.0)
- Google.Protobuf (>= 3.21.9)
- Microsoft.Extensions.Logging.Abstractions (>= 2.2.0)
-
.NETFramework 4.6.2
- Castle.Core (>= 5.1.0)
- Google.Protobuf (>= 3.21.9)
- Microsoft.Extensions.Logging.Abstractions (>= 1.1.1)
- System.Text.Json (>= 6.0.7)
-
.NETStandard 2.0
- Castle.Core (>= 5.1.0)
- Google.Protobuf (>= 3.21.9)
- Microsoft.Extensions.Logging.Abstractions (>= 2.2.0)
- System.Text.Json (>= 6.0.7)
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 1.9.0 | 1 | 9/26/2025 |
| 1.8.0 | 1 | 9/2/2025 |
| 1.7.0 | 2 | 6/9/2025 |
| 1.6.0 | 9 | 4/21/2025 |
| 1.5.0 | 8 | 2/13/2025 |
| 1.4.0 | 8 | 12/19/2024 |
| 1.3.1 | 8 | 9/11/2024 |
| 1.3.0 | 9 | 8/14/2024 |
| 1.2.0 | 9 | 6/27/2024 |
| 1.1.2 | 9 | 6/4/2024 |
| 1.1.1 | 1 | 5/10/2024 |
| 1.1.0 | 26 | 5/7/2024 |
| 1.0.0 | 1 | 12/5/2023 |
| 0.1.0-beta2 | 1 | 10/30/2023 |
| 0.1.0-beta1 | 1 | 7/24/2023 |
| 0.1.0-alpha6 | 1 | 6/28/2023 |
| 0.1.0-alpha5 | 1 | 5/26/2023 |
| 0.1.0-alpha4 | 1 | 5/1/2023 |
| 0.1.0-alpha3 | 1 | 4/20/2023 |
| 0.1.0-alpha2 | 1 | 2/10/2023 |
| 0.1.0-alpha1 | 1 | 1/31/2023 |