Enable packaging of dotnet-aot#54056
Merged
NikolaMilosavljevic merged 5 commits intodotnet:mainfrom Apr 24, 2026
Merged
Conversation
Contributor
There was a problem hiding this comment.
Pull request overview
This PR extends the SDK layout/packaging pipeline to build and include the dotnet-aot NativeAOT shared library alongside dotnet.dll, and adjusts permission-setting behavior so the native library is runnable on Unix-like platforms.
Changes:
- Added a new
PublishDotnetAottarget to restore/publishsrc/Cli/dotnet-aot/dotnet-aot.csprojand copy the native library into$(OutputPath). - Updated
ChmodPublishDirto include thedotnet-aotnative library in its chmod set on non-Windows platforms. - Wired
PublishDotnetAotinto theGenerateSdkLayoutdependency chain.
Member
|
This should go in after #54047 which disables the AOT command run by default. |
joeloff
reviewed
Apr 23, 2026
joeloff
approved these changes
Apr 23, 2026
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
9341416 to
5a107ef
Compare
Restore PublishDotnetAot dependency so the _DotnetAotNativeLibName property is available without recomputation. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
JeremyKuhne
approved these changes
Apr 23, 2026
NativeAOT cross-compilation requires native toolchain for the target platform, which is not available in CI cross-compilation scenarios. Restrict the PublishDotnetAot target to only run when TargetRid matches HostRid. Fixes CI failures in: - TestBuild: linux (arm64) - cross-compiling from x64 - AoT: windows (x64) - restore/RID mismatch Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Member
Author
|
Pushed a fix for a failure in AOT job. |
This avoids restore conflicts when the main build restore creates an assets file without RID-specific settings, then the dotnet-aot restore fails because it requires a RID-specific configuration. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Member
Author
|
Remaining failures are unrelated. |
PureWeen
pushed a commit
to dotnet/maui
that referenced
this pull request
Apr 28, 2026
SDK build 26224.122 has a workload manifest layout bug caused by dotnet/sdk#54056 (Enable packaging of dotnet-aot). The emscripten.net6 bundled manifest is missing from the SDK layout. The fix is already merged upstream (Condition=false) but hasn't produced a new build yet. Pin to 26215.121 (same version used by dotnet/android and dotnet/macios) until a fixed SDK build is available. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.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.
This PR adds the dotnet-aot NativeAOT shared library to the SDK packaging pipeline.
Changes
Added
PublishDotnetAottarget inGenerateLayout.targetsthat:dotnet-aot.csprojas a NativeAOT shared librarydotnet-aot.dll, Linux:libdotnet-aot.so, macOS:libdotnet-aot.dylib)dotnet.dllUpdated
ChmodPublishDirtarget to set executable permissions on the native library for Linux/macOSAdded
PublishDotnetAotto theGenerateSdkLayouttarget dependency chainResult
The dotnet-aot native library is now packaged with the SDK and will be included in Windows MSI, Linux deb/rpm, and macOS pkg installers.