Skip to content

Default AppHosts to use the CLI bundle#18188

Draft
DamianEdwards wants to merge 2 commits into
mainfrom
damianedwards/cli-bundle-default
Draft

Default AppHosts to use the CLI bundle#18188
DamianEdwards wants to merge 2 commits into
mainfrom
damianedwards/cli-bundle-default

Conversation

@DamianEdwards

Copy link
Copy Markdown
Member

Description

C# AppHosts now use the Aspire CLI bundle by default by setting AspireUseCliBundle to true when the property is otherwise unspecified. This moves new/default AppHost builds to the bundled DCP/dashboard layout and avoids requiring users to explicitly opt in to the CLI bundle path.

Fixes # (issue)

User-facing usage

AppHost projects no longer need to set AspireUseCliBundle=true to use the CLI bundle. If the bundle cannot be resolved, build reports ASPIRE009 with install guidance and a link to https://get.aspire.dev.

Users can still opt out explicitly:

<PropertyGroup>
  <AspireUseCliBundle>false</AspireUseCliBundle>
</PropertyGroup>

Opting out emits ASPIRE010 because some Aspire features may not work without the CLI bundle. Users who intentionally opt out can suppress that warning by ID, for example with NoWarn.

Breaking changes

This changes the default AppHost build behavior from per-RID DCP/dashboard NuGet package resolution to CLI bundle resolution. Users without an installed Aspire CLI may now see ASPIRE009; install the Aspire CLI from https://get.aspire.dev or set AspireUseCliBundle=false to keep using the previous package-based path.

Implementation details

  • Defaults AspireUseCliBundle to true for C# AppHost projects in both AppHost package props and SDK targets.
  • Adds ASPIRE010 for explicit opt-out and updates ASPIRE009 wording.
  • Updates CLI bundle MSBuild discovery for current install layouts, including bundle/, versioned extraction roots, install-route sidecars, ASPIRE_HOME, and dotnet-tool shim/store layouts.
  • Updates diagnostics docs and source-layout tests that intentionally do not use the bundle.

Validation

  • dotnet test --project tests\Aspire.Hosting.Sdk.Tests\Aspire.Hosting.Sdk.Tests.csproj --no-launch-profile -- --filter-class "*.AppHostSdkTargetsTests" --filter-not-trait "quarantined=true" --filter-not-trait "outerloop=true"
  • dotnet test --project tests\Aspire.Hosting.Tests\Aspire.Hosting.Tests.csproj --no-launch-profile -- --filter-class "*.MSBuildTests" --filter-not-trait "quarantined=true" --filter-not-trait "outerloop=true"
  • dotnet build src\Aspire.Hosting.Tasks\Aspire.Hosting.Tasks.csproj /p:SkipNativeBuild=true
  • Manual local-hive E2E: built/installed a local hive, created a new aspire-starter under D:\scratch, verified AspireUseCliBundle defaults to true, verified normal build/run uses the local hive bundle/dashboard, verified opt-out emits ASPIRE010, and verified a missing CLI bundle fails with ASPIRE009 and install guidance.

Checklist

  • Is this feature complete?
    • Yes. Ready to ship.
    • No. Follow-up changes expected.
  • Are you including unit tests for the changes and scenario tests if relevant?
    • Yes
    • No
  • Did you add public API?
    • Yes
      • If yes, did you have an API Review for it?
        • Yes
        • No
      • Did you add <remarks /> and <code /> elements on your triple slash comments?
        • Yes
        • No
    • No
  • Does the change make any security assumptions or guarantees?
    • Yes
      • If yes, have you done a threat model and had a security review?
        • Yes
        • No
    • No

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot AI review requested due to automatic review settings June 12, 2026 22:47
@DamianEdwards DamianEdwards added the breaking-change Issue or PR that represents a breaking API or functional change over a prerelease. label Jun 12, 2026
@github-actions

github-actions Bot commented Jun 12, 2026

Copy link
Copy Markdown
Contributor

🚀 Dogfood this PR with:

⚠️ WARNING: Do not do this without first carefully reviewing the code of this PR to satisfy yourself it is safe.

curl -fsSL https://raw.githubusercontent.com/microsoft/aspire/main/eng/scripts/get-aspire-cli-pr.sh | bash -s -- 18188

Or

  • Run remotely in PowerShell:
iex "& { $(irm https://raw.githubusercontent.com/microsoft/aspire/main/eng/scripts/get-aspire-cli-pr.ps1) } 18188"

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR changes the default AppHost build behavior from per-RID DCP/dashboard NuGet package resolution to CLI bundle resolution by defaulting AspireUseCliBundle to true for C# AppHost projects. Users without an installed Aspire CLI will see ASPIRE009; users who explicitly opt out will see ASPIRE010.

Changes:

  • Defaults AspireUseCliBundle=true for .csproj AppHosts in both Aspire.Hosting.AppHost.props and Sdk.in.targets, adds ASPIRE010 warning for explicit opt-out.
  • Expands CLI bundle MSBuild discovery in ResolveAspireCliBundle.cs to support versioned extraction roots, install-route sidecars, ASPIRE_HOME environment variable fallback, and dotnet-tool shim/store layouts.
  • Updates tests to verify the new default behavior (skipping DCP package references, opt-out warning emission, ASPIRE_HOME resolution, dotnet-tool store resolution) and adjusts existing tests to explicitly opt out where needed.

Reviewed changes

Copilot reviewed 8 out of 8 changed files in this pull request and generated no comments.

Show a summary per file
File Description
src/Aspire.Hosting.AppHost/build/Aspire.Hosting.AppHost.props Defaults AspireUseCliBundle=true for .csproj AppHosts
src/Aspire.AppHost.Sdk/SDK/Sdk.in.targets Same default for SDK-based AppHosts
src/Aspire.Hosting.AppHost/build/Aspire.Hosting.AppHost.in.targets Adds ASPIRE010 warning target and updates ASPIRE009 error message
src/Aspire.Hosting.Tasks/ResolveAspireCliBundle.cs Adds versioned bundles, install sidecars, ASPIRE_HOME, dotnet-tool store discovery
tests/Aspire.Hosting.Tests/MSBuildTests.cs New tests for ASPIRE_HOME, dotnet-tool store, opt-out warning; env passthrough support
tests/Aspire.Hosting.Sdk.Tests/AppHostSdkTargetsTests.cs Verifies default skips DCP packages; existing tests opt out explicitly
tests/Aspire.Hosting.Tests/Directory.Build.props Opts out of CLI bundle for existing test project
docs/list-of-diagnostics.md Documents ASPIRE009 and ASPIRE010 diagnostics

Ensure Aspire CLI-launched AppHosts can resolve the current CLI bundle during MSBuild probes and builds, and opt template test builds out of bundle resolution.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@DamianEdwards

DamianEdwards commented Jun 13, 2026

Copy link
Copy Markdown
Member Author

PR Testing Report

PR Information

Artifact Version Verification

  • Expected Commit: e561d8e
  • Installed Version: 13.5.0-pr.18188.ge561d8ee
  • Installed CLI: D:\tmp\aspire-pr-test-a1ffad1d06894d2bab4b9ff61d0ef1dc\dogfood\pr-18188\bin\aspire.exe
  • PR Hive: D:\tmp\aspire-pr-test-a1ffad1d06894d2bab4b9ff61d0ef1dc\hives\pr-18188\packages
  • Status: Verified - installed version contains PR head short SHA e561d8ee.

Changes Analyzed

Files Changed

  • docs/list-of-diagnostics.md
  • src/Aspire.AppHost.Sdk/SDK/Sdk.in.targets
  • src/Aspire.Cli/DotNet/DotNetCliRunner.cs
  • src/Aspire.Cli/Projects/DotNetAppHostProject.cs
  • src/Aspire.Hosting.AppHost/build/Aspire.Hosting.AppHost.in.targets
  • src/Aspire.Hosting.AppHost/build/Aspire.Hosting.AppHost.props
  • src/Aspire.Hosting.Tasks/ResolveAspireCliBundle.cs
  • tests/Aspire.Cli.Tests/DotNet/DotNetCliRunnerTests.cs
  • tests/Aspire.Cli.Tests/Projects/DotNetAppHostProjectTests.cs
  • tests/Aspire.Hosting.Sdk.Tests/AppHostSdkTargetsTests.cs
  • tests/Aspire.Hosting.Tests/Directory.Build.props
  • tests/Aspire.Hosting.Tests/MSBuildTests.cs
  • tests/Shared/TemplatesTesting/BuildEnvironment.cs

Change Categories

  • CLI changes detected - CLI passes AspireCliPath into MSBuild/AppHost operations and acquires/configures the CLI bundle layout for validation, run, and publish.
  • Hosting/MSBuild changes detected - C# AppHosts default AspireUseCliBundle=true; ASPIRE009 text was updated and ASPIRE010 was added for explicit opt-out.
  • Template-related changes detected - generated apps from the PR hive were validated.
  • Dashboard source changes
  • Client/component changes
  • VS Code extension changes
  • CI infrastructure changes

Test Scenarios Executed

Scenario 1: Starter template bundle happy path

Objective: Create a fresh starter app from the PR hive and verify the generated C# AppHost builds with default CLI bundle behavior.
Coverage Type: Happy path
Status: Passed
Steps: Created aspire-starter, confirmed no explicit AspireUseCliBundle, built with AspireCliPath set to the verified PR CLI, and checked for bundle diagnostics/package fallback.
Evidence: Logs: D:\tmp\aspire-pr-test-a1ffad1d06894d2bab4b9ff61d0ef1dc\scenarios\scenario-1-starter-default\01-aspire-new-starter.log, D:\tmp\aspire-pr-test-a1ffad1d06894d2bab4b9ff61d0ef1dc\scenarios\scenario-1-starter-default\02-dotnet-build-starter.log
Observations: Build succeeded with no ASPIRE009 or ASPIRE010; generated AppHost relied on the new default; assets did not contain Aspire.Dashboard.Sdk or Aspire.Hosting.Orchestration.


Scenario 2: App run/dashboard startup

Objective: Verify a starter app created from the PR hive starts through the PR CLI bundle and exposes running resources/dashboard state.
Coverage Type: Happy path
Status: Passed
Steps: Created aspire-starter, ran aspire start --isolated, waited for apiservice and webfrontend to become healthy, captured aspire describe, then stopped the AppHost.
Evidence: Logs: D:\tmp\aspire-pr-test-a1ffad1d06894d2bab4b9ff61d0ef1dc\scenarios\scenario-2-starter-run\01-aspire-new-starter-run.log, D:\tmp\aspire-pr-test-a1ffad1d06894d2bab4b9ff61d0ef1dc\scenarios\scenario-2-starter-run\02-aspire-start.log, D:\tmp\aspire-pr-test-a1ffad1d06894d2bab4b9ff61d0ef1dc\scenarios\scenario-2-starter-run\03-aspire-wait-apiservice.log, D:\tmp\aspire-pr-test-a1ffad1d06894d2bab4b9ff61d0ef1dc\scenarios\scenario-2-starter-run\04-aspire-wait-webfrontend.log, D:\tmp\aspire-pr-test-a1ffad1d06894d2bab4b9ff61d0ef1dc\scenarios\scenario-2-starter-run\05-aspire-describe.log, D:\tmp\aspire-pr-test-a1ffad1d06894d2bab4b9ff61d0ef1dc\scenarios\scenario-2-starter-run\06-aspire-stop.log
Dashboard/start evidence: "dashboardUrl": "https://localhost:59687/login?t=35d24a2bbc987a84acabe788eb3cee48",
Observations: Both resources reached healthy state; describe included apiservice and webfrontend; dashboard/start metadata was emitted.


Scenario 3: Empty template default bundle smoke

Objective: Create a fresh empty app from the PR hive and verify the generated file-based AppHost starts with the PR CLI.
Coverage Type: Happy path
Status: Passed
Steps: Created aspire-empty, ran aspire start --apphost apphost.cs --isolated, captured aspire describe, then stopped the AppHost.
Evidence: Logs: D:\tmp\aspire-pr-test-a1ffad1d06894d2bab4b9ff61d0ef1dc\scenarios\scenario-3-empty-default\02-aspire-start-empty.log, D:\tmp\aspire-pr-test-a1ffad1d06894d2bab4b9ff61d0ef1dc\scenarios\scenario-3-empty-default\03-aspire-describe-empty.log, D:\tmp\aspire-pr-test-a1ffad1d06894d2bab4b9ff61d0ef1dc\scenarios\scenario-3-empty-default\04-aspire-stop-empty.log
Observations: Empty template generated a file-based AppHost; it started and describe produced JSON.


Scenario 4: Explicit opt-out warning

Objective: Verify explicit <AspireUseCliBundle>false</AspireUseCliBundle> remains buildable and emits ASPIRE010.
Coverage Type: Unhappy path / recoverable opt-out
Status: Passed
Steps: Created aspire-starter, added <AspireUseCliBundle>false</AspireUseCliBundle> to the AppHost project, ran dotnet build, and checked for ASPIRE010.
Evidence: Logs: D:\tmp\aspire-pr-test-a1ffad1d06894d2bab4b9ff61d0ef1dc\scenarios\scenario-4-opt-out-warning\01-aspire-new-starter.log, D:\tmp\aspire-pr-test-a1ffad1d06894d2bab4b9ff61d0ef1dc\scenarios\scenario-4-opt-out-warning\02-dotnet-build-opt-out.log
Warning evidence: D:\packages\nuget\aspire.hosting.apphost\13.5.0-pr.18188.ge561d8ee\build\Aspire.Hosting.AppHost.targets(153,5): warning ASPIRE010: OptOutWarning.AppHost is configured with AspireUseCliBundle=false. Some Aspire features may not work when the Aspire CLI bundle is not being used. [D:\tmp\aspire-pr-test-a1ffad1d06894d2bab4b9ff61d0ef1dc\scenarios\scenario-4-opt-out-warning\OptOutWarning\OptOutWarning.AppHost\OptOutWarning.AppHost.csproj]
Expected Unhappy-Path Outcome: Build succeeds and emits a warning that some Aspire features may not work without the CLI bundle.
Observations: Build succeeded and ASPIRE010 was emitted.


Scenario 5: Missing bundle error

Objective: Verify invalid explicit bundle path fails safely with ASPIRE009 and actionable guidance.
Coverage Type: Unhappy path / invalid configuration
Status: Passed
Steps: Created aspire-starter, added <AspireCliBundlePath> pointing at a missing directory, ran dotnet build, and checked for ASPIRE009, updated missing-bundle text, and https://get.aspire.dev guidance.
Evidence: Logs: D:\tmp\aspire-pr-test-a1ffad1d06894d2bab4b9ff61d0ef1dc\scenarios\scenario-5-missing-bundle\01-aspire-new-starter.log, D:\tmp\aspire-pr-test-a1ffad1d06894d2bab4b9ff61d0ef1dc\scenarios\scenario-5-missing-bundle\02-dotnet-build-missing-bundle.log
Error evidence: D:\packages\nuget\aspire.hosting.apphost\13.5.0-pr.18188.ge561d8ee\build\Aspire.Hosting.AppHost.targets(220,5): error ASPIRE009: MissingBundle.AppHost is configured to use the Aspire CLI bundle, but the bundle could not be resolved. Some new Aspire features require the Aspire CLI to be installed. Install the Aspire CLI from https://get.aspire.dev and ensure the aspire command is available on PATH, or set AspireCliBundlePath/AspireCliPath to a valid Aspire CLI installation or bundle layout. [D:\tmp\aspire-pr-test-a1ffad1d06894d2bab4b9ff61d0ef1dc\scenarios\scenario-5-missing-bundle\MissingBundle\MissingBundle.AppHost\MissingBundle.AppHost.csproj]
Expected Unhappy-Path Outcome: Build exits non-zero with ASPIRE009 and install/path guidance.
Observations: Build failed with exit code 1 and emitted ASPIRE009, the updated missing-bundle wording, and get.aspire.dev guidance.

Summary

Scenario Status Notes
Starter template bundle happy path Passed Generated C# AppHost used default bundle behavior and built successfully.
App run/dashboard startup Passed Starter resources reached healthy state and dashboard/start metadata was emitted.
Empty template default bundle smoke Passed File-based empty AppHost started and described successfully.
Explicit opt-out warning Passed ASPIRE010 emitted; build remained successful.
Missing bundle error Passed ASPIRE009 emitted with updated text and install guidance.

Overall Result

PR VERIFIED

Artifacts

  • Persistent artifact directory: $artifactDir
  • Report: $(Join-Path C:\Users\dedward.copilot\session-state\b1ed14e4-9d25-4bde-b7f0-f5f14e3ec296\files\pr-18188-testing 'pr-18188-testing-report.md')
  • Scenario summary: $(Join-Path C:\Users\dedward.copilot\session-state\b1ed14e4-9d25-4bde-b7f0-f5f14e3ec296\files\pr-18188-testing 'scenario-summary.json')
  • Install log: $(Join-Path C:\Users\dedward.copilot\session-state\b1ed14e4-9d25-4bde-b7f0-f5f14e3ec296\files\pr-18188-testing 'install-output.txt')
  • Diff used for analysis: $(Join-Path C:\Users\dedward.copilot\session-state\b1ed14e4-9d25-4bde-b7f0-f5f14e3ec296\files\pr-18188-testing 'pr-diff.patch')
  • Scenario logs archive: $(Join-Path C:\Users\dedward.copilot\session-state\b1ed14e4-9d25-4bde-b7f0-f5f14e3ec296\files\pr-18188-testing 'scenario-logs.zip')

Cleanup / Inspection Status

  • Temp workspace D:\tmp\aspire-pr-test-a1ffad1d06894d2bab4b9ff61d0ef1dc was removed after archiving the report and logs.

Recommendations

  • No PR issues found in the tested CLI bundle default, startup, opt-out warning, or missing-bundle error paths.

@github-actions

Copy link
Copy Markdown
Contributor

Retrying the failed CI jobs for this pull request from the CI run attempt. The rerun is being tracked in the rerun attempt.

@github-actions

Copy link
Copy Markdown
Contributor

Retrying the failed CI jobs for this pull request from the CI run attempt. The rerun is being tracked in the rerun attempt.

@github-actions

Copy link
Copy Markdown
Contributor

Retrying the failed CI jobs for this pull request from the CI run attempt. The rerun is being tracked in the rerun attempt.

@github-actions

Copy link
Copy Markdown
Contributor

CLI E2E Tests unknown — 114 passed, 0 failed, 3 unknown (commit e561d8e)

View all recordings
- Test Detail
AddPackageInteractiveWhileAppHostRunningDetached Recording · Job · CLI logs
AddPackageWhileAppHostRunningDetached Recording · Job · CLI logs
AgentCommands_AllHelpOutputs_AreCorrect Recording · Job · CLI logs
AgentInitCommand_DefaultSelection_InstallsDefaultSkills Recording · Job · CLI logs
AgentInitCommand_MigratesDeprecatedConfig Recording · Job · CLI logs
AgentInit_NonInteractive_BundleOnlySkillsNotInCatalog Recording · Job · CLI logs
AgentMcpListResources_ExcludesResourceMarkedWithExcludeFromMcp Recording · Job · CLI logs
AgentMcpListStructuredLogsReturnsLogsFromStarterApp Recording · Job · CLI logs
AgentMcpListStructuredLogsReturnsLogsFromStarterApp_DevLocalhost Recording · Job · CLI logs
AgentMcpListStructuredLogsReturnsLogsFromStarterApp_Isolated Recording · Job · CLI logs
AllPublishMethodsBuildDockerImages Recording · Job · CLI logs
AspireAddAndStartWorkAgainstLegacyAppHostTs Recording · Job · CLI logs
AspireAddPackageVersionToDirectoryPackagesProps Recording · Job · CLI logs
AspireInitSingleFileAppHostRunsViaDotnetRunAppHost Recording · Job · CLI logs
AspireInit_ExistingAppHostDir_RecreatesNuGetConfigKeepsFiles Recording · Job · CLI logs
AspireInit_SolutionFile_BuildsAgainstChannelHive Recording · Job · CLI logs
AspireStartUpdatesStaleTypeScriptAppHostPath Recording · Job · CLI logs
AspireUpdateRemovesAppHostPackageVersionFromDirectoryPackagesProps Recording · Job · CLI logs
AspireUpdateRemovesOrphanAppHostPackageVersionWhenSdkAlreadyCurrent Recording · Job · CLI logs
Banner_DisplayedOnFirstRun Recording · Job · CLI logs
Banner_DisplayedWithExplicitFlag Recording · Job · CLI logs
Banner_NotDisplayedWithNoLogoFlag Recording · Job · CLI logs
CertificatesClean_RemovesCertificates Recording · Job · CLI logs
CertificatesTrust_WithNoCert_CreatesAndTrustsCertificate Recording · Job · CLI logs
CertificatesTrust_WithUntrustedCert_TrustsCertificate Recording · Job · CLI logs
ConfigSetGet_CreatesNestedJsonFormat Recording · Job · CLI logs
CreateAndRunAspireStarterProject Recording · Job · CLI logs
CreateAndRunAspireStarterProjectWithBundle Recording · Job · CLI logs
CreateAndRunEmptyAppHostProject Recording · Job · CLI logs
CreateAndRunJavaEmptyAppHostProject Recording · Job · CLI logs
CreateAndRunJsReactProject Recording · Job · CLI logs
CreateAndRunPolyglotAppHostWithDevLocalhostUrls Recording · Job · CLI logs
CreateAndRunPythonReactProject Recording · Job · CLI logs
CreateAndRunTypeScriptEmptyAppHostProject Recording · Job · CLI logs
CreateAndRunTypeScriptStarterProject Recording · Job · CLI logs
CreateJavaAppHostWithViteApp Recording · Job · CLI logs
CreateTypeScriptAppHostWithViteApp_UsesConfiguredToolchain Recording · Job · CLI logs
DashboardRunWithAgentMcpListTracesReturnsNoTraces Recording · Job · CLI logs
DashboardRunWithAgentMcpListTracesReturnsNoTraces_DevLocalhost Recording · Job · CLI logs
DashboardRunWithOtelTracesReturnsNoTraces Recording · Job · CLI logs
DashboardRunWithOtelTracesReturnsNoTraces_DevLocalhost Recording · Job · CLI logs
DeployK8sBasicApiService Recording · Job · CLI logs
DeployK8sWithExternalHelmChart Recording · Job · CLI logs
DeployK8sWithGarnet Recording · Job · CLI logs
DeployK8sWithMongoDB Recording · Job · CLI logs
DeployK8sWithMySql Recording · Job · CLI logs
DeployK8sWithPostgres Recording · Job · CLI logs
DeployK8sWithRabbitMQ Recording · Job · CLI logs
DeployK8sWithRedis Recording · Job · CLI logs
DeployK8sWithSqlServer Recording · Job · CLI logs
DeployK8sWithValkey Recording · Job · CLI logs
DeployTypeScriptAppToKubernetes Recording · Job · CLI logs
DescribeCommandResolvesReplicaNames Recording · Job · CLI logs
DescribeCommandShowsRunningResources Recording · Job · CLI logs
DetachFormatJsonProducesValidJson Recording · Job · CLI logs
DetachFormatJsonProducesValidJsonWhenRestartingExistingInstance Recording · Job · CLI logs
DoPublishAndDeployListStepsWork Recording · Job · CLI logs
DocsCommand_RendersInteractiveMarkdownFromLocalSource Recording · Job · CLI logs
DoctorCommand_DetectsDeprecatedAgentConfig Recording · Job · CLI logs
DoctorCommand_TypeScriptAppHostReportsMissingConfiguredToolchain Recording · Job · CLI logs
DoctorCommand_WithSslCertDir_ShowsTrusted Recording · Job · CLI logs
DoctorCommand_WithoutSslCertDir_ShowsPartiallyTrusted Recording · Job · CLI logs
DotNetRunFileBasedAppHostUsesAspireCliBundle Recording · Job · CLI logs
DotNetRunProjectAppHostUsesAspireCliBundle Recording · Job · CLI logs
GatewayWithoutExternalEndpoint_FailsPublishWithGuidance Recording · Job · CLI logs
GeneratedAspireDevScript_StartsWatchMode_WithConfiguredToolchain Recording · Job · CLI logs
GlobalMigration_HandlesCommentsAndTrailingCommas Recording · Job · CLI logs
GlobalMigration_HandlesMalformedLegacyJson Recording · Job · CLI logs
GlobalMigration_PreservesAllValueTypes Recording · Job · CLI logs
GlobalMigration_SkipsWhenNewConfigExists Recording · Job · CLI logs
GlobalSettings_MigratedFromLegacyFormat Recording · Job · CLI logs
IngressWithoutExternalEndpoint_FailsPublishWithGuidance Recording · Job · CLI logs
InitTypeScriptAppHost_AugmentsExistingViteRepoInWorkspaceSubdirectory Recording · Job · CLI logs
InteractiveCSharpInitCreatesExpectedFiles Recording · Job · CLI logs
InvalidAppHostPathWithComments_IsHealedOnRun Recording · Job · CLI logs
JavaScriptHostingApisRunFromTypeScriptAppHost Recording · Job · CLI logs
LatestCliCanStartStableChannelAppHost Recording · Job · CLI logs
LatestCliCanStartStableChannelTypeScriptAppHost Recording · Job · CLI logs
LegacySettingsMigration_AdjustsRelativeAppHostPath Recording · Job · CLI logs
LogsCommandShowsResourceLogs Recording · Job · CLI logs
OtelLogsReturnsStructuredLogsFromStarterApp Recording · Job · CLI logs
OtelLogsReturnsStructuredLogsFromStarterAppIsolated Recording · Job · CLI logs
ProcessCommandCallbackReceivesCliArguments Recording · Job · CLI logs
PsCommandListsRunningAppHost Recording · Job · CLI logs
PsFormatJsonOutputsOnlyJsonToStdout Recording · Job · CLI logs
PublishJavaScriptPatternsGeneratesExpectedDockerComposeArtifacts Recording · Job · CLI logs
PublishWithConfigureEnvFileUpdatesEnvOutput Recording · Job · CLI logs
PublishWithDockerComposeServiceCallbackSucceeds Recording · Job · CLI logs
PublishWithoutOutputPathUsesAppHostDirectoryDefault Recording · Job · CLI logs
ResourceCommand_FailedExec_ShowsLogPathAndLogHasEntries Recording · Job · CLI logs
ResourceCommand_SetAndDeleteParameterUpdatesDescribeOutput Recording · Job · CLI logs
RestoreGeneratesSdkFiles Recording · Job · CLI logs
RestoreGeneratesSdkFiles_WithConfiguredToolchain Recording · Job · CLI logs
RestoreRefreshesGeneratedSdkAfterAddingIntegration Recording · Job · CLI logs
RestoreSupportsConfigOnlyHelperPackageAndCrossPackageTypes Recording · Job · CLI logs
RunFromParentDirectory_UsesExistingConfigNearAppHost Recording · Job · CLI logs
RunReportsSyntaxErrorsForDotNetAppHost Recording · Job · CLI logs
RunReportsSyntaxErrorsForTypeScriptAppHost Recording · Job · CLI logs
SecretCrudOnDotNetAppHost Recording · Job · CLI logs
SecretCrudOnTypeScriptAppHost Recording · Job · CLI logs
StagingChannel_ConfigureAndVerifySettings_ThenSwitchChannels Recording · Job · CLI logs
StartAndWaitForTypeScriptSqlServerAppHostWithNativeAssets Recording · Job · CLI logs
StartReportsSyntaxErrorsForDotNetAppHost Recording · Job · CLI logs
StartReportsSyntaxErrorsForTypeScriptAppHost Recording · Job · CLI logs
StopAllAppHostsFromAppHostDirectory Recording · Job · CLI logs
StopJavaPolyglotAppHostUsingApphostDirectory Recording · Job · CLI logs
StopNonInteractiveSingleAppHost Recording · Job · CLI logs
StopTypeScriptPolyglotAppHostUsingApphostDirectory Recording · Job · CLI logs
StopWithNoRunningAppHostExitsSuccessfully Recording · Job · CLI logs
TerminalAttachFrontend_ShowsViteHelpAndDetaches Recording · Job · CLI logs
TypeScriptAppHostRunDoesNotDeadlockWhenLazyOptionsInvokeAsyncCallback Recording · Job · CLI logs
TypeScriptAppHostWithVite_AllowsDifferentGuestPkgManager Recording · Job · CLI logs
UnAwaitedChainsCompileWithAutoResolvePromises Recording · Job · CLI logs
UpdateToStable_CSharpEmptyAppHost_KeepsConfigChannel Recording · Job · CLI logs
UpdateToStable_CSharpSingleFileInit_KeepsConfigChannel Recording · Job · CLI logs
UpdateToStable_TypeScriptSingleFileInit_KeepsConfigChannel Recording · Job · CLI logs
UpdateToStable_TypeScript_PreviewsStablePkgsAndKeepsChannel Recording · Job · CLI logs

📹 Recordings uploaded automatically from CI run #27448786188

<!-- Aspire hosting projects aren't publishable right now until https://github.com/microsoft/aspire/issues/147 is good -->
<IsPublishable Condition="'$(IsPublishable)' == ''">false</IsPublishable>
<IsPackable Condition="'$(IsPackable)' == ''">false</IsPackable>
<AspireUseCliBundle Condition="'$(AspireUseCliBundle)' == '' and '$(MSBuildProjectExtension)' == '.csproj'">true</AspireUseCliBundle>

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why the extension check?


<PropertyGroup>
<_AspireCliBundleNotFoundError>$(MSBuildProjectName) is configured with AspireUseCliBundle=true, but the Aspire CLI bundle could not be resolved. Install the Aspire CLI from https://get.aspire.dev and ensure the aspire command is available on PATH, or set AspireCliBundlePath/AspireCliPath to a valid Aspire CLI installation or bundle layout.</_AspireCliBundleNotFoundError>
<_AspireCliBundleNotFoundError>$(MSBuildProjectName) is configured to use the Aspire CLI bundle, but the bundle could not be resolved. Some new Aspire features require the Aspire CLI to be installed. Install the Aspire CLI from https://get.aspire.dev and ensure the aspire command is available on PATH, or set AspireCliBundlePath/AspireCliPath to a valid Aspire CLI installation or bundle layout.</_AspireCliBundleNotFoundError>

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think we want to be more assertive with the error message. The plan to deprecate the the existing nuget packages (we can name then) and move to the aspire cli instead of saying "some features".

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

breaking-change Issue or PR that represents a breaking API or functional change over a prerelease.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants