Skip to content

Orleans NuGet packages

All official packages use the Microsoft.Orleans prefix and are published on NuGet.org. Keep Orleans package versions aligned within an application.

PackageUse it for
Microsoft.Orleans.ServerApplications which host an Orleans silo. It includes the runtime, SDK, client APIs, and memory persistence provider.
Microsoft.Orleans.ClientStandalone processes which connect to a cluster without hosting a silo. It includes the SDK.
Microsoft.Orleans.SdkGrain contract or implementation libraries which need Orleans analyzers, source generation, serialization, and core APIs.

Most applications should begin with one of these packages and then add only the provider and feature packages they use.

For installation guidance, see dotnet package add and NuGet package installation workflows.

PackagePurpose
Microsoft.Orleans.Hosting.KubernetesKubernetes hosting integration.
Microsoft.Orleans.DashboardBuilt-in Orleans Dashboard server and UI.
Microsoft.Orleans.Dashboard.AbstractionsDashboard contracts for components which don’t host the UI.
Microsoft.Orleans.Connections.SecurityTLS support for Orleans connections.

Microsoft.Orleans.Runtime, Microsoft.Orleans.Core, and the abstractions packages are lower-level dependencies of the metapackages. Reference them directly only when building a library with a narrower dependency requirement.

Every multi-silo production cluster needs a shared membership provider.

PackageBackend
Microsoft.Orleans.Clustering.AdoNetADO.NET-compatible relational databases
Microsoft.Orleans.Clustering.AzureStorageAzure Table Storage
Microsoft.Orleans.Clustering.CassandraApache Cassandra
Microsoft.Orleans.Clustering.ConsulHashiCorp Consul
Microsoft.Orleans.Clustering.CosmosAzure Cosmos DB
Microsoft.Orleans.Clustering.DynamoDBAmazon DynamoDB
Microsoft.Orleans.Clustering.FirestoreGoogle Cloud Firestore
Microsoft.Orleans.Clustering.RedisRedis
Microsoft.Orleans.Clustering.ZooKeeperApache ZooKeeper
PackageBackend
Microsoft.Orleans.Persistence.AdoNetADO.NET-compatible relational databases
Microsoft.Orleans.Persistence.AzureStorageAzure Table and Blob Storage
Microsoft.Orleans.Persistence.CosmosAzure Cosmos DB
Microsoft.Orleans.Persistence.DynamoDBAmazon DynamoDB
Microsoft.Orleans.Persistence.FirestoreGoogle Cloud Firestore
Microsoft.Orleans.Persistence.RedisRedis
Microsoft.Orleans.Persistence.MemoryProcess memory for development and testing

Memory persistence distributes records across cluster storage grains but isn’t durable or replicated. Use it only when losing records with a hosting process is acceptable.

PackagePurpose
Microsoft.Orleans.RemindersCore reminder support.
Microsoft.Orleans.Reminders.AdoNetADO.NET reminder storage.
Microsoft.Orleans.Reminders.AzureStorageAzure Table Storage reminders.
Microsoft.Orleans.Reminders.CosmosAzure Cosmos DB reminders.
Microsoft.Orleans.Reminders.DynamoDBAmazon DynamoDB reminders.
Microsoft.Orleans.Reminders.FirestoreGoogle Cloud Firestore reminders.
Microsoft.Orleans.Reminders.RedisRedis reminders.
Microsoft.Orleans.DurableJobsDistributed scheduling for durable one-time jobs.
Microsoft.Orleans.DurableJobs.AzureStorageAzure Blob Storage for durable jobs.

Use reminders for recurring durable callbacks and durable jobs for scheduled one-time work. Grain timers are activation-scoped and use the core runtime rather than a provider package.

PackagePurpose
Microsoft.Orleans.StreamingCore Orleans Streams APIs and runtime.
Microsoft.Orleans.Streaming.AdoNetADO.NET-backed streams.
Microsoft.Orleans.Streaming.AzureStorageAzure Queue Storage streams.
Microsoft.Orleans.Streaming.EventHubsAzure Event Hubs streams.
Microsoft.Orleans.Streaming.KinesisAmazon Kinesis Data Streams.
Microsoft.Orleans.Streaming.NATSNATS JetStream streams.
Microsoft.Orleans.Streaming.RedisRedis Streams integration.
Microsoft.Orleans.Streaming.SQSAmazon SQS streams.
Microsoft.Orleans.BroadcastChannelLightweight broadcast channels.

Custom grain directory providers store grain registration information for selected grain types.

PackageBackend
Microsoft.Orleans.GrainDirectory.AdoNetADO.NET-compatible relational databases
Microsoft.Orleans.GrainDirectory.AzureStorageAzure Table Storage
Microsoft.Orleans.GrainDirectory.FirestoreGoogle Cloud Firestore
Microsoft.Orleans.GrainDirectory.RedisRedis

These packages don’t replace the cluster membership provider.

PackagePurpose
Microsoft.Orleans.EventSourcingEvent-sourced grain base types and log-consistency abstractions.
Microsoft.Orleans.JournalingExperimental durable journaled collections and values (ORLEANSEXP005).
Microsoft.Orleans.Journaling.AzureStorageExperimental Azure Blob Storage provider for Orleans Journaling.
Microsoft.Orleans.Journaling.RedisExperimental Redis storage provider for Orleans Journaling.
Microsoft.Orleans.TransactionsDistributed transaction runtime.
Microsoft.Orleans.Transactions.AzureStorageAzure Storage transaction state.
Microsoft.Orleans.Transactions.DynamoDBAmazon DynamoDB transaction state.

Orleans source-generates serializers for annotated application types. Add an integration package when using another format or ecosystem.

PackagePurpose
Microsoft.Orleans.Serialization.SystemTextJsonSystem.Text.Json integration.
Microsoft.Orleans.Serialization.MessagePackMessagePack integration.
Microsoft.Orleans.Serialization.ProtobufProtocol Buffers integration.
Microsoft.Orleans.Serialization.NewtonsoftJsonNewtonsoft.Json integration.
Microsoft.Orleans.Serialization.FSharpF# core type support.

Microsoft.Orleans.Serialization and Microsoft.Orleans.Serialization.Abstractions are lower-level packages used by the SDK and integrations.

PackagePurpose
Microsoft.Orleans.TestingHostHost configurable in-process test clusters.
Microsoft.Orleans.Serialization.TestKitVerify custom serializer behavior.
Microsoft.Orleans.Transactions.TestKit.BaseShared transaction test kit.
Microsoft.Orleans.Transactions.TestKit.xUnitxUnit integration for the transaction test kit.

For package installation commands in a multi-project application, see Build your first Orleans app.