Skip to content

[Aspire extension] Phase 7: Migrate legacy built-in Aspire projects #9480

Description

Parent epic: #9479

Depends on the Aspire extension becoming the default for new projects.

Objective

Move existing host: containerapp plus language: dotnet Aspire projects onto the extension without breaking old projects or silently rewriting configuration.

Scope

  • Continue recognizing the legacy marker as Aspire only when the referenced project is an AppHost.

  • Prefer the extension for legacy projects once the installed version meets compatibility requirements.

  • Retain built-in fallback during the migration window.

  • Never switch implementations after an operation has started.

  • Add an explicit migration command, for example:

    azd aspire migrate
  • Update azure.yaml to host: aspire, remove the obsolete language marker, configure the Aspire provisioning provider, and add extension requirements where needed.

  • Provide preview/confirmation and preserve comments and unrelated configuration where possible.

  • Add regression coverage for old templates, generated projects, CI pipelines, App Service, and Container Apps.

  • Publish migration and rollback guidance.

Exit criteria

  • Legacy projects run successfully through the extension without mandatory edits.
  • Explicit migration produces the new canonical configuration.
  • Built-in fallback usage and extension migration adoption can be measured safely.

Metadata

Metadata

Labels

area/aspire.NET Aspire integrationenhancementNew feature or improvement

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions