Repository navigation
Refresh Native AOT lock files for the .NET 10.0.14 runtime - #108
Merged
Merged
Conversation
CI now resolves SDK 10.0.403 (runtime 10.0.14) through global.json's latestFeature roll-forward, so the SDK-implicit Native AOT packages (Microsoft.DotNet.ILCompiler, its win-x86/x64/arm64 runtime packs and Microsoft.NET.ILLink.Tasks) moved from 10.0.12 to 10.0.14 and locked restore failed with NU1004. Regenerated with eng/Restore-NativeAot.ps1 -UpdateLocks for x64, x86 and arm64, and rebuilt the reviewed dependency ledger. No ordinary PackageReference versions or hashes changed. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
zhuowcui
approved these changes
Oct 28, 2026
Xueyang-Song
added a commit
that referenced
this pull request
Oct 28, 2026
Brings in #108, which refreshed main's Native AOT lock files and the AOT dependency ledger from 10.0.12 to 10.0.14. This branch had already regenerated the same files for its new project layout at 10.0.14, so every conflict resolves to this branch's side. Locked Native AOT restore (x64) and Update-NativeAotDependencyLedger.ps1 -Verify pass on the merged tree. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Xueyang-Song
added a commit
that referenced
this pull request
Oct 28, 2026
Brings in #108, which refreshed main's Native AOT lock files and the AOT dependency ledger from 10.0.12 to 10.0.14. This branch already pins 10.0.14 for its own dependency graph, so every conflict resolves to this branch's side. Locked Native AOT restore (x64) and Update-NativeAotDependencyLedger.ps1 -Verify pass on the merged tree. Co-Authored-By: Claude Opus 5.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.
Summary
Every PR into
mainfails the Full Native AOT → Native AOT contract and unit tests job during restore, before any test runs. For example, see #107:CI now installs SDK 10.0.403 (runtime 10.0.14), but the committed locks still pin the 10.0.12 Native AOT packs. This PR refreshes them.
What changed
JitHub.WinUI,MarkdownRendererandMarkdownRenderer.Gfmpackages.lock.json: these SDK-implicit packages move from 10.0.12 to 10.0.14, along with their content hashes:Microsoft.DotNet.ILCompilerruntime.win-{x86,x64,arm64}.Microsoft.DotNet.ILCompilerMicrosoft.NET.ILLink.Taskseng/native-aot-dependencies.json: the reviewed AOT dependency ledger gets the same 5 version bumps. CI runsUpdate-NativeAotDependencyLedger.ps1 -Verify, which fails if the ledger still lists 10.0.12.PackageReferenceversion or hash changed. The other 10 locked projects (Web, tests, automation, sample) were force-evaluated and came out byte-identical.JitHub.Webstill resolvesMicrosoft.AspNetCore.App.Internal.Assets10.0.11 under SDK 10.0.403, and its locked restore passes.How it was produced and verified (local SDK 10.0.403 / runtime 10.0.14, same as CI)
eng/Restore-NativeAot.ps1 -Architecture {x64,x86,arm64} -UpdateLocks, then--force-evaluaterestore for every other locked project, then the ledger was regenerated.Restore-NativeAot.ps1withUpdate-NativeAotDependencyLedger.ps1 -Verifypasses for x64, x86 and arm64.dotnet build JitHub.WinUI -c Release -p:Platform=x64 -p:PublishAot=truesucceeds.This will recur
global.jsonpins10.0.202withrollForward: latestFeature. Each time a new SDK patch ships, CI picks it up and resolves a newer runtime patch for the implicit AOT packs, while the lock files still pin the previous one. Every PR then breaks until someone refreshes the locks.Option for the maintainer, not done in this PR: pin the SDK exactly, for example
"version": "10.0.403", "rollForward": "disable"(orlatestPatchwithin one feature band). Lock refreshes then happen on purpose, together with an SDK bump. The trade-off is that SDK security patches also need a deliberate bump.Side note (pre-existing, not changed here)
A bare
dotnet build JitHub.WinUI -c Release -p:Platform=x64, which the Product performance gate workflow runs, fails locked restore. That's because the referencedMarkdownRenderer/Gfmlibraries are restored withoutPublishAot=true, so their graph lacks ILCompiler. This happens regardless of the runtime version. The Native AOT workflow avoids it by passing-p:PublishAot=true.🤖 Generated with Claude Code