Repository navigation
[release/13.6] Update .NET servicing dependencies for Aspire 13.6.5 - #21348
Jose Perez Rodriguez (joperezr) merged 3 commits into
Conversation
Refresh .NET 8/9/10 servicing packages and test runtimes, and move the repository SDK and .NET 11 packages to RC3. Align explicit package overrides, update the required Cosmos dependency, and cover RC3 culture fallback behavior. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
|
🚀 Dogfood this PR with:
curl -fsSL https://raw.githubusercontent.com/microsoft/aspire/main/eng/scripts/get-aspire-cli-pr.sh | bash -s -- 21348Or
iex "& { $(irm https://raw.githubusercontent.com/microsoft/aspire/main/eng/scripts/get-aspire-cli-pr.ps1) } 21348" |
This comment has been minimized.
This comment has been minimized.
There was a problem hiding this comment.
🔵 Needs a closer look
The shipped SDK/runtime refresh still needs final CI confirmation, including Native AOT publishing and clean CLI/dashboard results, while the targeted macOS startup scenario remains unverified.
No open issues 🎉
What changed in this PR
Prepares Aspire 13.6.5 with serviced .NET dependencies and bundled runtimes, including updates intended to address Native AOT startup failures.
Changes:
- Updates .NET 8/9/10 servicing versions, .NET 11 RC3 SDK/package pins, and the Aspire patch version.
- Refreshes tool and playground dependencies, including the Cosmos compatibility update.
- Adjusts dashboard culture tests for RC3 behavior and adds valid parent-culture fallback coverage.
| File | Description |
|---|---|
tools/CreateFailingTestIssue/Directory.Packages.props |
Updates System.IO.Hashing to 10.0.14. |
tests/ConfigurationSchemaGenerator.Tests/ConfigurationSchemaGenerator.Tests.csproj |
Uses the shared System.Text.Json version. |
tests/Aspire.Dashboard.Tests/GlobalizationHelpersTests.cs |
Updates unknown-culture expectations and tests supported-parent fallback. |
src/Tools/ConfigurationSchemaGenerator/ConfigurationSchemaGenerator.csproj |
Uses the shared System.Text.Json version. |
playground/BlazorStandalone/Directory.Packages.props |
Updates WebAssembly packages to 10.0.14. |
playground/BlazorStandalone/BlazorStandalone/BlazorStandalone.csproj |
Uses the shared environment-configuration package version. |
playground/BlazorHosted/Directory.Packages.props |
Updates WebAssembly packages to 10.0.14. |
playground/BlazorHosted/BlazorHosted.Client/BlazorHosted.Client.csproj |
Uses the shared environment-configuration package version. |
playground/AzureKusto/AzureKusto.Worker/AzureKusto.Worker.csproj |
Uses the shared .NET 9 System.Text.Json version. |
playground/AspireWithMaui/AspireWithMaui.MauiClient/AspireWithMaui.MauiClient.csproj |
Updates explicit .NET package pins to 10.0.14. |
global.json |
Updates both repository SDK pins to .NET 11 RC3. |
eng/Versions.props |
Sets Aspire 13.6.5 and refreshes package, runtime, and test SDK versions. |
Directory.Packages.props |
Updates Cosmos, SQLite, and hashing dependencies. |
Review effort: Balanced
|
Retrying the failed CI jobs for this pull request from the CI run attempt. The rerun is being tracked in the rerun attempt. |
|
Retrying the failed CI jobs for this pull request from the CI run attempt. The rerun is being tracked in the rerun attempt. |
|
Retrying the failed CI jobs for this pull request from the CI run attempt. The rerun is being tracked in the rerun attempt. |
Exclude executable XML documentation from CLI and Dashboard publish output, configure the new virtualization JSInterop call, and avoid cached tools in the missing-package test. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
This comment has been minimized.
This comment has been minimized.
|
Retrying the failed CI jobs for this pull request from the CI run attempt. The rerun is being tracked in the rerun attempt. |
|
Retrying the failed CI jobs for this pull request from the CI run attempt. The rerun is being tracked in the rerun attempt. |
Link the upstream regression and fix above both PublishDocumentationFile overrides so they can be removed after consuming a fixed SDK. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Tests selectorSelects the full PR test matrix + all PR-gated jobs (ALL) — a rule matching 'Directory.Packages.props' selects ALL Selection computed for commit |
|
Retrying the failed CI jobs for this pull request from the CI run attempt. The rerun is being tracked in the rerun attempt. |
|
Retrying the failed CI jobs for this pull request from the CI run attempt. The rerun is being tracked in the rerun attempt. |
PR Testing ReportPR Information
Artifact Version Verification
Status: Verified. Changes AnalyzedAll 17 changed files were inspected using local per-file diffs against merge base
Categories: CLI/dashboard native publishing, shared dependencies/build configuration, playground/tool dependencies, and test compatibility. No hosting implementation, template source, client implementation, or VS Code extension changes. Commands and ResultsCommands below use these exact paths: repo=/Users/maddy/source/copilot-worktrees/aspire/joperezr-dotnet-servicing-update-fb1
evidence=/Users/maddy/.copilot/session-state/9fb7abc8-e845-43c3-9006-a1bd7943029f/files/pr-21348-testing
testDir=/tmp/aspire-pr21348.XdDM2q
cli="$testDir/dogfood/pr-21348/bin/aspire"
hive="$testDir/hives/pr-21348/packages"
app=/private/tmp/aspire-pr21348.XdDM2q/CanonicalSmoke/CanonicalSmoke.AppHost/CanonicalSmoke.AppHost.csproj
export DOTNET_ROOT="$repo/.dotnet" PATH="$repo/.dotnet:$PATH" MSBUILDTERMINALLOGGER=false1. Installation and runtime verification./restore.sh /p:SkipNativeBuild=true /p:SkipPlaygroundProjects=true /p:SkipTestProjects=true
curl -fsSL https://raw.githubusercontent.com/microsoft/aspire/main/eng/scripts/get-aspire-cli-pr.sh | bash -s -- 21348 --install-path "$testDir" --skip-path --skip-extension
"$cli" --version
./.dotnet/dotnet --info
./.dotnet/dotnet --list-runtimesResult: Isolated PR installation and SDK/runtime verification passed. Initial artifact acquisition timed out; an intervening retry and the broad restore were interrupted by the session interruption. The resumed installer completed successfully. The broad restore installed the SDK/runtimes and restored many projects, but has no completed whole-restore result. All final targeted build/test/publish commands performed their own restores successfully. Evidence: 2. Focused compatibility testsEach command was run from the verified checkout, using absolute project paths, without dotnet test --project "$repo/tests/Aspire.Dashboard.Tests/Aspire.Dashboard.Tests.csproj" --no-launch-profile -- --filter-class "*.GlobalizationHelpersTests" --filter-not-trait "quarantined=true" --filter-not-trait "outerloop=true"
dotnet test --project "$repo/tests/Aspire.Dashboard.Components.Tests/Aspire.Dashboard.Components.Tests.csproj" --no-launch-profile -- --filter-class "*.LogViewerTests" --filter-class "*.StructuredLogsTests" --filter-class "*.ConsoleLogsTests" --filter-not-trait "quarantined=true" --filter-not-trait "outerloop=true"
dotnet test --project "$repo/tests/ConfigurationSchemaGenerator.Tests/ConfigurationSchemaGenerator.Tests.csproj" --no-launch-profile -- --filter-not-trait "quarantined=true" --filter-not-trait "outerloop=true"
dotnet test --project "$repo/tests/Aspire.Hosting.DotnetTool.Tests/Aspire.Hosting.DotnetTool.Tests.csproj" --no-launch-profile -- --filter-method "*.VerifyNonExistentDotnetToolResource" --filter-not-trait "quarantined=true" --filter-not-trait "outerloop=true"
Earlier attempts were invalidated by RC3 relative-project-path resolution and overlapping dashboard builds contending on Evidence: 3. Serviced-project buildsdotnet build src/Components/Aspire.Microsoft.EntityFrameworkCore.Cosmos/Aspire.Microsoft.EntityFrameworkCore.Cosmos.csproj --nologo -v minimal
dotnet build playground/AzureKusto/AzureKusto.Worker/AzureKusto.Worker.csproj --nologo -v minimal
dotnet build playground/BlazorHosted/BlazorHosted.Client/BlazorHosted.Client.csproj --nologo -v minimal
dotnet build playground/BlazorStandalone/BlazorStandalone/BlazorStandalone.csproj --nologo -v minimal
dotnet build tools/CreateFailingTestIssue/CreateFailingTestIssue.csproj --nologo -v minimalResult: All five commands passed with zero warnings and zero errors. Cosmos built successfully for net8.0, net9.0, and net10.0, exercising the updated Cosmos dependency. Evidence: 4. Native AOT publishing and macOS startupdotnet publish src/Aspire.Cli/Aspire.Cli.csproj -c Release -r osx-arm64 --nologo -v minimal
dotnet publish src/Aspire.Dashboard/Aspire.Dashboard.csproj -c Release -r osx-arm64 --nologo -v minimalResult: Both publishes passed and produced ARM64 Mach-O executables, validating the RC3 XML-documentation workaround through native generation/linking. The dashboard publish emitted the documented framework-owned The downloaded PR CLI and source-published CLI each ran An active Evidence: 5. Fresh PR-template application and dashboard"$cli" new aspire-starter --name CanonicalSmoke --output /private/tmp/aspire-pr21348.XdDM2q/CanonicalSmoke --source /private/tmp/aspire-pr21348.XdDM2q/hives/pr-21348/packages --version 13.6.5-pr.21348.g19b3a450 --test-framework None --use-redis-cache false --localhost-tld false --suppress-agent-init --non-interactive
"$cli" start --non-interactive --isolated --apphost "$app" --format Json
"$cli" wait webfrontend --status healthy --timeout 120 --non-interactive --apphost "$app"
"$cli" wait apiservice --status healthy --timeout 120 --non-interactive --apphost "$app"
"$cli" describe --format Json --non-interactive --apphost "$app"
"$cli" resource apiservice restart --non-interactive --apphost "$app"
"$cli" wait apiservice --status healthy --timeout 120 --non-interactive --apphost "$app"
"$cli" stop --non-interactive --apphost "$app"
"$cli" ps --format Json --non-interactiveResult: Passed using the canonical Negative case: "$cli" start --non-interactive --apphost /private/tmp/aspire-pr21348.XdDM2q/missing.csprojResult: Expected safe failure: exit code 7, "The --apphost option specified a project that does not exist." Evidence: Issues Observed and Coverage Limits
Summary
Overall ResultTargeted servicing validation passed, with an unclassified macOS No source changes were made. The test AppHost and isolated browser were stopped. Screenshots, command logs, and structured results are preserved beside this report; the temporary PR installation/generated applications are cleaned up separately. PR comment posting requires explicit user confirmation. Local evidence paths are not publicly accessible attachments. |
Description
Refresh the .NET dependencies and bundled runtimes for Aspire 13.6.5 to pick up servicing fixes, including fixes relevant to Native AOT process startup failures.
PatchVersionto 5, producing Aspire 13.6.5.Two directly related compatibility adjustments are included:
Microsoft.Azure.Cosmosto 3.63.1, required by the serviced EF Core Cosmos assemblies; retaining 3.63.0 causes CS1705.en-USstill falls back to supporteden. The existing test passes on RC1 but not RC3 because the framework now usesCultureInfo.GetCultureInfo(..., predefinedOnly: true).Fixes # (issue)
Validation
Verified that the new SDK selects runtime packs 8.0.33 / 9.0.22 / 10.0.14 and the .NET 11 RC3 packs. Restored CLI assets select Microsoft.DotNet.ILCompiler/10.0.14, and dashboard assets select 11.0.0-rc.3.26522.148. The successfully published self-contained managed host's runtime manifest includes Microsoft.NETCore.App 10.0.14 and Microsoft.AspNetCore.App 10.0.14.
Passed:
.\restore.cmd /p:SkipNativeBuild=true /p:SkipPlaygroundProjects=true /p:SkipTestProjects=truedotnet publish src\Aspire.Managed\Aspire.Managed.csproj -c Release -r win-x64 --self-contained --nologo -v minimaldotnet build src\Components\Aspire.Microsoft.EntityFrameworkCore.Cosmos\Aspire.Microsoft.EntityFrameworkCore.Cosmos.csproj --nologo -v minimaldotnet build src\Aspire.Dashboard\Aspire.Dashboard.csproj --nologo -v minimaldotnet build playground\AzureKusto\AzureKusto.Worker\AzureKusto.Worker.csproj --nologo -v minimaldotnet build playground\BlazorHosted\BlazorHosted.Client\BlazorHosted.Client.csproj --nologo -v minimaldotnet build playground\BlazorStandalone\BlazorStandalone\BlazorStandalone.csproj --nologo -v minimaldotnet build tools\CreateFailingTestIssue\CreateFailingTestIssue.csproj --nologo -v minimalTests were run with
$project = Join-Path $PWD '<project path>'followed by:tests\ConfigurationSchemaGenerator.Tests\ConfigurationSchemaGenerator.Tests.csprojtests\Aspire.Managed.Tests\Aspire.Managed.Tests.csprojtests\Aspire.Cli.Tests\Aspire.Cli.Tests.csprojtests\Aspire.Dashboard.Tests\Aspire.Dashboard.Tests.csprojRemaining validation is delegated to PR CI rather than extending local validation:
dotnet publish src\Aspire.Cli\Aspire.Cli.csproj -c Release -r win-x64 --nologo -v minimalwas blocked by the missing Visual Studio C++ linker..\build.cmd -build /p:SkipNativeBuild=true /p:SkipPlaygroundProjects=true /p:SkipTestProjects=true /p:SkipBundleDeps=trueexposed the corrected Cosmos mismatch and was also blocked by missing Windows SDKmakecat.exefor template catalogs.dotnet restore playground\AspireWithMaui\AspireWithMaui.MauiClient\AspireWithMaui.MauiClient.csproj --nologo -v minimalwas blocked by the missingmaui-androidworkload.Checklist
<remarks />and<code />elements on your triple slash comments?