Aspire is an opinionated, cloud-ready stack for building observable, production-ready distributed applications. In 2026, the aspire CLI (distinct from the standard dotnet CLI) has become the primary way to manage these projects.

⚠️ Container Requirement: Aspire requires a container runtime (Docker Desktop or Podman) to manage resources like databases and caches. Ensure your runtime is active before running aspire run.

🛠️ Installation & Setup

Aspire is typically installed as a workload within the .NET SDK or as a standalone global tool.

Command Description
dotnet workload install aspire Installs the Aspire workload (the foundation).
dotnet workload update Keeps the Aspire SDK and templates up to date.
dotnet tool install -g Aspire.Cli Installs the advanced aspire CLI (recommended).
aspire --version Verify the current version of the Aspire CLI.

🏗️ Project Lifecycle

Commands to scaffold and manage your distributed application structure.

  • aspire new: An interactive wizard to create a new Aspire project (selects templates, sets names, and configures defaults).
  • aspire init: Adds Aspire orchestration to an existing .NET solution. This creates the AppHost and ServiceDefaults projects.
  • aspire add <PACKAGE>: Easily adds Aspire “Hosting” integrations (like Redis, Postgres, or Kafka) to your AppHost project.
  • aspire update: Automatically updates all Aspire NuGet packages across your entire solution to the latest version.

🚀 Running & Developing

Aspire’s power lies in how it runs multiple services simultaneously with integrated telemetry.

  • aspire run: The main command to start your distributed app.
    • It builds all projects, starts containers (Docker/Podman), and launches the Aspire Dashboard.
    • Tip: If it doesn’t find your project, use aspire run --project ./Myapp.AppHost.csproj.
  • aspire run --no-build: Starts the orchestration without recompiling (faster for minor config tweaks).
  • aspire run --watch: Enables hot-reloading across the entire distributed system.

📊 The Dashboard & Telemetry

The Aspire Dashboard is a browser-based UI for logs, traces, and metrics.

Feature How to access
Dashboard URL Printed in the terminal logs when you run aspire run.
Structured Logs View real-time console and OpenTelemetry logs for all services.
Distributed Traces See how a single request travels through multiple services.
Metrics View CPU, memory, and custom Counter data in visual charts.

📦 Deployment (Cloud & Manifests)

Aspire uses a “Manifest” system to describe your infrastructure to deployment tools.

  • aspire publish: Generates a manifest.json file. This is the “source of truth” that tools like azd or Kubernetes operators use to understand your app’s requirements.
  • aspire deploy: A high-level command to push your orchestrated app to a target environment (often used in CI/CD).
  • dotnet run --publisher manifest --output-path ./manifest.json: The low-level way to generate a manifest if you aren’t using the aspire CLI tool.

☁️ Aspire + azd (The Power Combo)

When you want to go to Azure, azd understands Aspire projects natively.

  1. azd init (select “Use .NET Aspire”)
  2. azd up (this automatically triggers aspire publish under the hood)