Align Aspire on 13.4.6 and net10.0 - #762
Merged
Merged
Conversation
Aspire was pinned at three different versions at once. Aspire.Hosting.* was 13.4.6, but Aspire.AppHost.Sdk was 9.0.0, and Aspire.Dashboard.Sdk / Aspire.Hosting.Orchestration were declared 9.0.0 for the generic $(NETCoreSdkRuntimeIdentifier) and overridden to 13.4.6 for win-x64 only. The override hid the problem on Windows. Restoring with -p:NETCoreSdkRuntimeIdentifier=linux-x64 resolved the dashboard and orchestration at 9.0.0 next to hosting at 13.4.6 - which is what every CI runner was building. Both now resolve 13.4.6 on linux-x64, and the win-x64 override is gone because it no longer differs from the generic entry. The Aspire projects also targeted net9.0 while the rest of the solution is net10.0, and all four web hosts reference Aspire.ServiceDefaults. Both are now net10.0. Aspire has been SDK-based since 9.2, so `dotnet workload install aspire` is obsolete; the solution builds with no aspire workload installed. Dropped from all four CI definitions. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Type: bugfix
Issue
Aspire was pinned at three different versions at once:
Directory.Packages.props-Aspire.Hosting.*Aspire.AppHost.csproj-Aspire.AppHost.SdkDirectory.Packages.props-Aspire.Dashboard.Sdk.$(NETCoreSdkRuntimeIdentifier)andAspire.Hosting.Orchestration.$(...)Updateforwin-x64onlyThe
win-x64override hid the problem on Windows developer machines. Everywhereelse - including every CI runner - the dashboard and orchestration resolved 9.0.0
next to hosting at 13.4.6.
Reproduce:
Before this change that resolves
Aspire.Dashboard.Sdk.linux-x64/9.0.0; after it,13.4.6.Separately,
src/Aspire/*targetednet9.0while the rest of the solution isnet10.0, and all four web hosts referenceAspire.ServiceDefaults.Solution
Aspire.AppHost.Sdk9.0.0 -> 13.4.6.Aspire.Dashboard.Sdk.$(NETCoreSdkRuntimeIdentifier)andAspire.Hosting.Orchestration.$(...)9.0.0 -> 13.4.6.win-x64Updateblock - it no longer differs from the generic entry.Aspire.AppHostandAspire.ServiceDefaultsnet9.0 -> net10.0.dotnet workload install aspirefrom all four CI definitions. Aspire hasbeen SDK-based since 9.2; the solution builds with no aspire workload installed
(
dotnet workload listempty).The API surface in play is small -
DistributedApplication.CreateBuilder,AddMongoDB,AddRedis,WithLifetime,ContainerLifetime.Persistentin a12-line
Program.cs, plus 95 lines ofServiceDefaults/Extensions.cs- and isunchanged between 9.x and 13.x.
Breaking changes
None to application behaviour.
Anyone building the AppHost needs the .NET 10 SDK, which the rest of the solution
already required. Non-Windows builds now get Aspire 13.4.6 components instead of
9.0.0 - that is the fix, but it is a change in what those builds produce.
Testing
dotnet restore src/Aspire/Aspire.AppHost/Aspire.AppHost.csproj --force -p:NETCoreSdkRuntimeIdentifier=linux-x64then check
obj/project.assets.json-Aspire.Dashboard.Sdk.linux-x64/13.4.6andAspire.Hosting.Orchestration.linux-x64/13.4.6.dotnet build ./GrandNode.sln- clean, 0 errors.dotnet workload listshows no aspire workload, confirming the CI step isunnecessary.
Aspire.AppHostand confirm the dashboard starts and both theMongoDB and Redis containers come up.
🤖 Generated with Claude Code