-
Notifications
You must be signed in to change notification settings - Fork 829
fix: Support .NET 10 RC2+ illink.dll path structure with cross-platform compatibility #21732
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
…tibility Co-authored-by: jeromelaban <[email protected]>
|
|
…t10' instead of 'Old' Co-authored-by: jeromelaban <[email protected]>
There was a problem hiding this comment.
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 updates the IL linker path resolution logic to support both .NET 10 RC2+'s new path structure (tools/net/illink.dll) and the legacy pre-.NET 10 structure (tools/net10.0/illink.dll). The change implements a fallback mechanism that tries the new .NET 10 RC2+ path first, then falls back to the version-specific path if the new structure doesn't exist.
- Adds support for .NET 10 RC2+'s simplified IL linker path structure
- Implements backward compatibility with pre-.NET 10 path structures
- Uses an existence check to automatically select the correct path
|
🤖 Your WebAssembly Skia Sample App stage site is ready! Visit it here: https://unowasmprstaging.z20.web.core.windows.net/pr-21732/wasm-skia-net9/index.html |
|
🤖 Your Docs stage site is ready! Visit it here: https://unodocsprstaging.z13.web.core.windows.net/pr-21732/docs/index.html |
…e trimming test Co-authored-by: jeromelaban <[email protected]>
src/SolutionTemplate/5.6/uno56netcurrent/uno56netcurrent/uno56netcurrent.csproj
Outdated
Show resolved
Hide resolved
…ifying project Co-authored-by: jeromelaban <[email protected]>
|
🤖 Your Docs stage site is ready! Visit it here: https://unodocsprstaging.z13.web.core.windows.net/pr-21732/docs/index.html |
|
@copilot That's great now you also need to add net10.0-browserwasm to uno56netcurrent.csproj. It also needs the files from it needs the |
Co-authored-by: jeromelaban <[email protected]>
Added
The structure matches the reference from uno.templates. (0dee6db) Warning Firewall rules blocked me from connecting to one or more addresses (expand for details)I tried to connect to the following addresses, but was blocked by firewall rules:
If you need me to access, download, or install something from one of these locations, you can either:
|
...olutionTemplate/5.6/uno56netcurrent/uno56netcurrent/Platforms/WebAssembly/wwwroot/web.config
Dismissed
Show dismissed
Hide dismissed
|
🤖 Your WebAssembly Skia Sample App stage site is ready! Visit it here: https://unowasmprstaging.z20.web.core.windows.net/pr-21732/wasm-skia-net9/index.html |
|
🤖 Your Docs stage site is ready! Visit it here: https://unodocsprstaging.z13.web.core.windows.net/pr-21732/docs/index.html |
Co-authored-by: jeromelaban <[email protected]>
|
🤖 Your Docs stage site is ready! Visit it here: https://unodocsprstaging.z13.web.core.windows.net/pr-21732/docs/index.html |
|
🤖 Your WebAssembly Skia Sample App stage site is ready! Visit it here: https://unowasmprstaging.z20.web.core.windows.net/pr-21732/wasm-skia-net9/index.html |
|
The build 180645 found UI Test snapshots differences: Details
|
Problem:
XAML trimming failed on .NET 10 RC2+ because the
microsoft.net.illink.taskspackage structure changed:.../tools/net10.0/illink.dll.../tools/net/illink.dllSolution:
Modified
Uno.UI.Tasks.targetsto intelligently detect the correct path by checking if the .NET 10 RC2+ structure exists first, then falling back to the pre-.NET 10 structure for backward compatibility. All path constructions now usePath.Combinefor cross-platform compatibility.Changes:
src/SourceGenerators/Uno.UI.Tasks/Content/Uno.UI.Tasks.targetsPath.Combinefor all path constructions to ensure cross-platform compatibility (Linux, macOS, Windows)_Newsuffix from main property (won't be "new" once released)_Oldto_PreNet10for claritydotnet publishwith-p:PublishTrimmed=trueand-p:UnoXamlResourcesTrimming=truedotnet publishwith-p:WasmShellILLinkerEnabled=trueand-p:UnoXamlResourcesTrimming=true-r linux-x64for Linux,-r win-x64for Windows)run-netcore-mobile-template-tests.ps1andrun-net7-template-linux.ps1uno56netcurrenttest project to support WebAssemblynet10.0-browserwasmtarget frameworkPlatforms/WebAssemblyfolder structure with all necessary filesValidation:
✅ Builds successfully
✅ Code review passed
✅ Security check passed
✅ Cross-platform path handling with Path.Combine
✅ CI/CD scripts use publish target with linker enabled for proper trimming validation
✅ WebAssembly platform structure matches uno.templates reference
Original prompt
💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.