The documentation you are viewing is for Dapr v1.12 which is an older version of Dapr. For up-to-date documentation, see the latest version.

Dapr .NET SDK Development with Project Tye

Learn about local development with Project Tye

Project Tye

.NET Project Tye is a microservices development tool designed to make running many .NET services easy. Tye enables you to store a configuration of multiple .NET services, processes, and container images as a runnable application.

Tye is advantageous for a .NET Dapr developer because:

  • Tye has the ability to automate the dapr CLI built-in
  • Tye understands .NET’s conventions and requires almost no configuration for .NET services
  • Tye can manage the lifetime of your dependencies in containers

Pros/cons:

  • Pro: Tye can automate all of the steps described above. You no longer need to think about concepts like ports or app-ids.
  • Pro: Since Tye can also manage containers for you, you can make those part of the application definition and stop the long-running containers on your machine.

Using Tye

Follow the Tye Getting Started to install the tye CLI and create a tye.yaml for your application.

Next follow the steps in the Tye Dapr recipe to add Dapr. Make sure to specify the relative path to your components folder with components-path in tye.yaml.

Next add any additional container dependencies and add component definitions to the folder you created earlier.

You should end up with something like this:

name: store-application
extensions:

  # Configuration for dapr goes here.
- name: dapr
  components-path: <components-path> 

# Services to run go here.
services:
  
  # The name will be used as the app-id. For a .NET project, Tye only needs the path to the project file.
- name: orders
  project: orders/orders.csproj
- name: products
  project: products/products.csproj
- name: store
  project: store/store.csproj

  # Containers you want to run need an image name and set of ports to expose.
- name: redis
  image: redis
  bindings:
    - port: 6973

Checkin tye.yaml in source control with the application code.

You can now use tye run to launch the whole application from one terminal. When running, Tye has a dashboard at http://localhost:8000 to view application status and logs.

Next steps

Tye runs your services locally as normal .NET process. If you need to debug, then use the attach feature of your debugger to attach to one of the running processes. Since Tye is .NET aware, it has the ability to start a process suspended for startup debugging.

Tye also has an option to run your services in containers if you wish to test locally in containers.