Issue type
bug
Requested priority
P2 - A workaround exists, an optional path is broken, or significant drift exists
Workshop area
Part 9 - Adding AI to an Existing App
Summary
The committed http launch profile in both Part 9 AppHost snapshots fails before resources start because Aspire rejects a non-HTTPS applicationUrl unless unsecured transport is explicitly allowed.
The README's default dotnet run --project eShopLite.AppHost command works because it selects the HTTPS profile, so the primary attendee flow is not blocked.
Attendee or instructor impact
Anyone explicitly selecting the HTTP profile from the CLI or IDE receives an Aspire startup failure. The presence of a committed profile implies that it is supported, and instructors may select it while diagnosing local certificate or HTTPS issues.
The workaround is to use the default HTTPS profile or set ASPIRE_ALLOW_UNSECURED_TRANSPORT=true for the HTTP profile.
Reproduction or proposed change
From either Part 9 snapshot or a clean scratch copy, run:
dotnet run --project eShopLite.AppHost --launch-profile http
Observed error under Aspire 13.4.6:
The 'applicationUrl' setting must be an https address unless the
'ASPIRE_ALLOW_UNSECURED_TRANSPORT' environment variable is set to true.
The default command succeeds:
dotnet run --project eShopLite.AppHost
Proposed change:
- Update both:
Part 09 - Adding AI to an Existing App/eShopLite-start/eShopLite.AppHost/Properties/launchSettings.json
Part 09 - Adding AI to an Existing App/eShopLite/eShopLite.AppHost/Properties/launchSettings.json
- Either add
ASPIRE_ALLOW_UNSECURED_TRANSPORT=true to the HTTP profile's environment variables or remove the unsupported profile.
- Keep the start and completed snapshots aligned.
- If unsecured transport is retained, add a brief explanation that it is local-development-only.
Expected outcome
Every committed launch profile starts successfully, or unsupported profiles are removed so the project exposes only valid launch choices.
Validation
Dependencies and related issues
The separate Aspire-version PR mentioned during triage may alter the exact behavior. Revalidate this issue after that PR lands and close it if the profile becomes valid without an explicit setting.
Issue type
bug
Requested priority
P2 - A workaround exists, an optional path is broken, or significant drift exists
Workshop area
Part 9 - Adding AI to an Existing App
Summary
The committed
httplaunch profile in both Part 9 AppHost snapshots fails before resources start because Aspire rejects a non-HTTPSapplicationUrlunless unsecured transport is explicitly allowed.The README's default
dotnet run --project eShopLite.AppHostcommand works because it selects the HTTPS profile, so the primary attendee flow is not blocked.Attendee or instructor impact
Anyone explicitly selecting the HTTP profile from the CLI or IDE receives an Aspire startup failure. The presence of a committed profile implies that it is supported, and instructors may select it while diagnosing local certificate or HTTPS issues.
The workaround is to use the default HTTPS profile or set
ASPIRE_ALLOW_UNSECURED_TRANSPORT=truefor the HTTP profile.Reproduction or proposed change
From either Part 9 snapshot or a clean scratch copy, run:
Observed error under Aspire 13.4.6:
The default command succeeds:
dotnet run --project eShopLite.AppHostProposed change:
Part 09 - Adding AI to an Existing App/eShopLite-start/eShopLite.AppHost/Properties/launchSettings.jsonPart 09 - Adding AI to an Existing App/eShopLite/eShopLite.AppHost/Properties/launchSettings.jsonASPIRE_ALLOW_UNSECURED_TRANSPORT=trueto the HTTP profile's environment variables or remove the unsupported profile.Expected outcome
Every committed launch profile starts successfully, or unsupported profiles are removed so the project exposes only valid launch choices.
Validation
eShopLite-startandeShopLitefrom scratch copies.Dependencies and related issues
The separate Aspire-version PR mentioned during triage may alter the exact behavior. Revalidate this issue after that PR lands and close it if the profile becomes valid without an explicit setting.