microsoft / microsoft/aspire

azd up deploys Aspire Dashboard with pinned linuxFxVersion ignoring local .NET SDK version

Open
#14,253 5 comments 1 reaction 0 assignees View on GitHub
area-deployment
Dominant language
C#
Stars
6.3k
Forks
991
Avg merge
2d 15h
Merged PRs (30d)
196

Description

### Is there an existing issue for this?

- [x] I have searched the existing issues

### Describe the bug

When deploying a .NET 10 Aspire application using `azd up`, the provisioned Azure App Service for the Aspire Dashboard is pinned to an older runtime version. This results in a version discrepancy where the local dashboard runs on .NET 10 (Aspire 13.1), but the cloud instance runs on an older runtime (.NET 8).

### Expected Behavior

`azd` should detect the targeted Aspire version from the application model or SDK context and deploy the corresponding dashboard container image (e.g., mcr.microsoft.com/dotnet/aspire-dashboard:13.0) to ensure feature parity between local and cloud environments.

### Steps To Reproduce

1. Create a new Aspire project
`AppHost.cs`
```AppHost.cs
...
var ServiceEnv = builder.AddAzureAppServiceEnvironment("ServiceEnv")
.WithDashboard(enable: true)
.WithAzureContainerRegistry(sharedAcr)
.ConfigureInfrastructure(infra =>
{
var env = infra.GetProvisionableResources()
.OfType()
.Single();

env.Kind = "linux";
env.Sku = new AppServiceSkuDescription()
{
Name = "B2",
Tier = "Basic"
};
env.IsReserved = true;
env.IsPerSiteScaling = false;
});
...
```
2. Ensure global.json is set to .NET 10.
3. Run `azd init`, `azd infra gen` and `azd up`.
4. Check the deployed Azure App Service configuration for the dashboard resource.

On Azure:
Image

On Local:

Image

### Exceptions (if any)

_No response_

### .NET Version info

.NET SDK:
Version: 10.0.100
Commit: b0f34d51fc
Workload version: 10.0.101.1
MSBuild version: 18.0.2+b0f34d51f

Runtime Environment:
OS Name: ubuntu
OS Version: 24.04
OS Platform: Linux
RID: ubuntu.24.04-x64
Base Path: /usr/lib/dotnet/sdk/10.0.100/

.NET workloads installed:
There are no installed workloads to display.
Configured to use workload sets when installing new manifests.

Host:
Version: 10.0.0
Architecture: x64
Commit: b0f34d51fc

.NET SDKs installed:
8.0.122 [/usr/lib/dotnet/sdk]
10.0.100 [/usr/lib/dotnet/sdk]

.NET runtimes installed:
Microsoft.AspNetCore.App 8.0.22 [/usr/lib/dotnet/shared/Microsoft.AspNetCore.App]
Microsoft.AspNetCore.App 10.0.0 [/usr/lib/dotnet/shared/Microsoft.AspNetCore.App]
Microsoft.NETCore.App 8.0.22 [/usr/lib/dotnet/shared/Microsoft.NETCore.App]
Microsoft.NETCore.App 10.0.0 [/usr/lib/dotnet/shared/Microsoft.NETCore.App]

Other architectures found:
None

Environment variables:
Not set

global.json file:
/home/dlim/PowerToolsWeb/global.json

Learn more:
https://aka.ms/dotnet/info

Download .NET:
https://aka.ms/dotnet/download

### Anything else?

> dotnet --version
10.0.100

> aspire --version
13.1.0+8a4db1775c3fbae1c602022b636299cb04971fde

> azd version
azd version 1.23.2 (commit 83096ae8add9cb037f8fa138510a433eb0513536)

Currently, I deployed the standalone dashboard using `AddContainer` in `AppHost.cs` but I can't only see the log.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.