Microsoft has released .NET Aspire 9.4, its biggest update to date. This version introduces a native AOT Command Line Interface (CLI), new interactive dashboard features, AI development integrations, and improved external service management.
In this article, we’ll go through the key updates in Aspire 9.4 and how they can help you speed up your development workflow.
🚀 Aspire CLI: Now in General Availability
The Aspire CLI reaches General Availability (GA), offering a fast, scriptable, and consistent way to create, run, and configure Aspire applications.
Main Commands
aspire new
– Create projects from templates.aspire add
– Add Aspire hosting integrations from anywhere in your repository.aspire run
– Run your full app stack from any terminal or editor.aspire config
– Manage settings and feature flags locally or globally.
Additionally, this version includes:
aspire publish
(updated, still in preview).exec
anddeploy
(in beta, can be enabled viaaspire config set
).
📌 Installing the Native AOT CLI
On Linux or macOS:
c url -sSL https://aspire.dev/install.sh | bash
On Windows (PowerShell):
iex "& { $(irm https://aspire.dev/install.ps1) }"
Interactive Dashboard with the New Interaction Service
The interaction service lets you add custom UX to get user input while the app is running, show notifications, or ask for confirmations before executing a command.
Supported input types:
- Text – Free text input.
- SecretText – Masked text input (API keys, tokens).
- Number – Numeric values.
- Choice – Dropdown selection from a predefined list.
- Boolean – Checkbox for toggling options.
It also works in the CLI for inputs required during publish
and deploy
.
(Currently in preview; the API may change.)
Built-In Parameter Prompts
If there are missing values defined in the apphost, Aspire 9.4 automatically prompts for them in the dashboard before starting resources.
Benefits:
- Avoids relying on local
appsettings.development.json
or.env
files for each developer. - Parameter descriptions can include Markdown for clearer instructions.
- Option to save values in User Secrets, outside of source control.
✨ AI Integrations: GitHub Models and Azure AI Foundry
Aspire 9.4 makes AI application development easier. You can now define AI models in the apphost, run them locally, or deploy them.
New integrations:
- GitHub Models (Preview)
- Azure AI Foundry (Preview)
Both work with Azure AI Inference (Preview), providing OpenTelemetry traces and simple bootstrap code for your client app or service.
Example in AppHost.cs
:
var ai = builder.AddAzureAIFoundry("ai");
var embedding = ai.AddDeployment(
name: "text-embedding",
modelName: "text-embedding-3-small",
modelVersion: "1",
format: "OpenAI")
.WithProperties(d =>
{
d.SkuCapacity = 20;
});
🌐 ExternalService and Updated YARP Integration
The AddExternalService()
function lets you model any API or external endpoint as an Aspire resource, check its health, and configure it like any other resource in your apphost.
Example:
var externalApi = builder.AddExternalService("resource-name", "https://api.example.com");
var frontend = builder.AddNpmApp("frontend", "../MyJSCodeDirectory")
.WithReference(externalApi);
The YARP integration (Preview) now includes fluent transform APIs to configure headers, routes, and authentication directly in C# with IntelliSense.
How to Get Started with Aspire 9.4
To use Aspire 9.4, update your AppHost.csproj
and NuGet packages:
<Sdk Name="Aspire.AppHost.Sdk" Version="9.4.0" />
<PackageReference Include="Aspire.Hosting.AppHost" Version="9.4.0" />
See the official What’s New documentation for the full changelog.
❓ Frequently Asked Questions about .NET Aspire 9.4
1. What is .NET Aspire 9.4?
.NET Aspire 9.4 is the latest release of the Aspire platform for building distributed .NET applications. It includes a native AOT CLI, interactive dashboard improvements, AI integrations, and enhanced external service support.
2. What are the main new features in Aspire 9.4?
- CLI GA with
aspire new
,add
,run
, andconfig
. - Interaction Service for interactive inputs in the dashboard and CLI.
- Built-in prompts for parameters in the apphost.
- GitHub Models and Azure AI Foundry integrations for AI.
- New
AddExternalService()
function and YARP improvements.
See the full list in the official documentation.
3. How do I install the native AOT Aspire CLI?
On Linux or macOS:
c url -sSL https://aspire.dev/install.sh | bash
On Windows (PowerShell):
iex "& { $(irm https://aspire.dev/install.ps1) }"
4. Can I still use Aspire CLI as a dotnet tool?
Yes, but the dotnet tool version is not compiled with AOT and may be slower.
To install the optimized AOT version:
dotnet tool uninstall -g aspire.cli
and then follow the official installation guide.
5. What is the Interaction Service in Aspire?
It’s a service that lets you create custom interactive experiences to request data, confirm actions, or show notifications while your app is running, both in the dashboard and the CLI.
Learn more about the Interaction Service.
6. How can I use Aspire 9.4 for AI development?
With GitHub Models and Azure AI Foundry integrations, you can define AI models in the apphost, run them locally or deploy them, and get telemetry with Azure AI Inference.
See the AI development guide for Aspire.
7. What is AddExternalService()
in Aspire 9.4?
It models any API or external endpoint as an Aspire resource, checks its health, and configures it like any other resource. It pairs with the updated YARP fluent APIs for routing, headers, and authentication.
Learn more about ExternalService.