The .NET team has released version 9.3 of .NET Aspire, introducing updates across diagnostics, integrations, and deployment workflows. As stated in the official announcement, this release aims to improve the developer experience by integrating GitHub Copilot into the Aspire dashboard, expanding tracing capabilities, and simplifying Azure deployments.
As mentioned already, the key addition in this release is the integration of GitHub Copilot within the Aspire dashboard. As reported, this integration enables developers to analyze logs, investigate errors across distributed services, and identify performance issues using AI, without leaving the developer dashboard environment.
According to the .NET team, Copilot augments the OpenTelemetry-based diagnostics by summarizing logs, interpreting error codes, and assisting in identifying root causes in complex trace scenarios.
(Copilot in Developer Dashboard, Source: Microsoft Documentation)
The Aspire dashboard has been updated with a context menu in the Resource Graph view, offering quick access to telemetry data, resource-specific commands, and URLs. As noted in the release, the Traces page now displays outgoing calls to dependencies such as databases and caches even if these services do not emit their own telemetry. These updates are designed to give developers broader visibility into application behavior.
(Resource context menus & quick-launch actions, Source: Microsoft Documentation)
Additional usability enhancements include preserving custom resource names in console log URLs, maintaining filter state on the Resources page, and issuing warnings when metric collection is paused.
Aspire Integration improvements include support for hosting a self-managed YARP instance via the Aspire.Hosting.Yarp package. Furthermore, MySQL integration now allows for database creation during app host configuration:
builder.AddMySql("mysql").AddDatabase("mydb");
For containerized services, the release introduces simplified configuration APIs for Postgres, Redis, and SQL Server, allowing developers to specify host ports and passwords using the RunAsContainer method:
var sql = builder.AddAzureSqlServer("sql");
sql.RunAsContainer(c =>
{
c.WithHostPort(12455);
});
Azure integration has also been expanded. Developers can now create and add Blob Storage containers within the AppHost. Two new APIs—AddAzureKeyVaultKeyClient and AddAzureKeyVaultCertificateClient, have been introduced to simplify access to Azure Key Vault for key and certificate operations.
As stated in the release notes, the Custom URLs feature in the application model has been updated to support relative paths and greater control over visibility. A new overload of WithUrlForEndpoint allows attaching multiple endpoints to a single resource.
Regarding the Azure App Service, version 9.3 introduces preview support for deploying .NET projects to it. The deployment flow is supported through the AddAzureAppServiceEnvironment(…) API and allows configuration for common scenarios, such as single-endpoint .NET projects published to Azure Container Registry:
builder.AddAzureAppServiceEnvironment("env");
builder.AddProject<Projects.Api>("api")
.WithExternalHttpEndpoints()
.PublishAsAzureAppServiceWebsite((infra, site) =>
{
site.SiteConfig.IsWebSocketsEnabled = true;
});
Other changes in this release include additional CLI enhancements, improvements to diagnostic visuals, and extended container configuration options.
For interested developers, the full release notes are available on the official Microsoft documentation website.