Skip to content
Projects

dapr/dotnet-sdk has 1,203 GitHub stars and 380 forks. GitHot measured 0 stars in 24 hours. Last checked 2026-11-09 08:28 UTC. Last push 2026-10-29.

How these counts are measured

Dapr SDK for .NET

Measured star growth

in 24h
0
in 7 days
Update delayed
in 15 days
Update delayed
in 1 month
Update delayed

Net star changes over overlapping periods, not daily totals. Missing measurements are left blank. Stars measure attention, not software quality.

README.md

Original

Dapr SDK for .NET

NuGet Version NuGet Downloads GitHub Actions Workflow Status codecov GitHub License GitHub issue custom search in repo Discord YouTube Channel Views X (formerly Twitter) Follow

Build durable workflows, actors, jobs, pub/sub messaging, state management and AI agents in .NET with Dapr.

The Dapr SDK for .NET lets you:

  • Write durable, long-running workflows in plain C# with Dapr Workflow
  • Interact with Dapr applications through a Dapr client: service invocation, pub/sub, state, secrets, configuration, bindings and more
  • Schedule jobs, use distributed locks, and encrypt and decrypt data
  • Call large language models and build agents with Dapr AI
  • Build routes and controllers in ASP.NET Core
  • Implement the Virtual Actor model, based on the actor design pattern

This SDK can run locally, in a container, and in any distributed systems environment.

Getting started

Install the client and the workflow packages from nuget.org:

dotnet add package Dapr.Client
dotnet add package Dapr.Workflow

You also need the Dapr CLI and an initialized Dapr environment to run your application next to a Dapr sidecar.

Then read:

Packages

We publish these NuGet packages to nuget.org for each release. The library packages target .NET 10 and .NET 11. The analyzer and generator packages run inside the compiler at build time.

Package Use it to
Dapr.Client Call the Dapr APIs: service invocation, pub/sub, state, secrets, configuration, bindings
Dapr.AspNetCore Integrate Dapr with ASP.NET Core routes, controllers and pub/sub subscriptions
Dapr.Workflow Author and run durable workflows
Dapr.Actors Implement and call virtual actors
Dapr.Actors.AspNetCore Host actors in ASP.NET Core
Dapr.Actors.Generators Generate strongly typed actor clients
Dapr.Actors.Analyzers Catch common actor registration and usage mistakes at build time
Dapr.Actors.Next Develop actors with the newer actors SDK
Dapr.AI Call large language models through the Dapr Conversation API
Dapr.AI.A2A Connect agents with the Agent2Agent (A2A) protocol
Dapr.AI.Microsoft.Extensions Use Dapr AI through Microsoft.Extensions.AI
Dapr.Jobs Schedule jobs
Dapr.Jobs.Analyzers Catch common jobs registration mistakes at build time
Dapr.Messaging Publish and subscribe through Dapr pub/sub components
Dapr.StateManagement Use typed state management clients
Dapr.SecretsManagement Use typed secret store clients
Dapr.Extensions.Configuration Load secrets and configuration into Microsoft.Extensions.Configuration
Dapr.BinaryStore Store and stream binary data
Dapr.Cryptography Encrypt and decrypt data
Dapr.DistributedLock Acquire distributed locks
Dapr.Metadata Read sidecar metadata
Dapr.Search Index and query documents (alpha API)
Dapr.Vector Store and query vector embeddings (alpha API)
Dapr.Testcontainers Run Dapr in integration tests with Testcontainers
Dapr.Testcontainers.Xunit Use Dapr.Testcontainers from xUnit

The repo also builds Dapr.Common and Dapr.Protos. They hold types shared by the packages above and are not intended for direct use.

Documentation

The docs for the Dapr .NET SDK can be found on the Dapr docs site.

Examples

The examples folder has examples to get you up and running with the Dapr .NET SDK, including:

  • Workflow examples: task chaining, fan-out/fan-in, external events, child workflows, retries, versioning and more
  • AI examples: the Conversation API and Microsoft.Extensions.AI integration

Contributing

Before you open a pull request, read the .NET SDK contribution guide and CONTRIBUTING.md.

Prerequisites

Each project is a normal C# project. The repo's global.json pins the .NET 10 SDK (10.0.100 or a later feature band), which you need to build, test, and generate NuGet packages. The libraries target .NET 10 and .NET 11; to build for .NET 11, install its SDK and set DaprEnableNet11=true.

macOS/Linux:

On macOS or Linux we recommend Visual Studio Code with the C# Dev Kit extension. See here for a getting started guide for VS Code and .NET. JetBrains Rider also works.

Windows:

On Windows, we recommend the latest Visual Studio. Visual Studio 2022 does not support the .NET 10 SDK, so use Visual Studio 2026 or later. It sets you up with all the .NET build tools and opens the solution files. Community Edition is free and can be used to build everything here.

Make sure you update Visual Studio to the most recent release.

Build

To build everything and generate NuGet packages, run dotnet cli commands. Binaries and NuGet packages will be dropped in a bin directory at the repo root.

# Build sdk, samples and tests.
dotnet build -c Debug  # for release, -c Release

# Run unit-test
dotnet test

# Generate nuget packages in /bin/Debug/nugets
dotnet pack

Each project can also be built individually directly through the CLI or your editor/IDE. You can open the solution file all.slnx in repo root to load all sdk, samples and test projects.

Using NuGet packages built locally in your project

<RepoRoot> is the path where you cloned this repository. NuGet packages are dropped under /bin/<Debug|Release>/nugets when you build locally.

# Add Dapr.Actors nuget package
dotnet add package Dapr.Actors -s <RepoRoot>/bin/<Debug|Release>/nugets

# Add Dapr.Actors.AspNetCore nuget package
dotnet add package Dapr.Actors.AspNetCore -s <RepoRoot>/bin/<Debug|Release>/nugets

Explore related projects