Uh oh!
There was an error while loading. Please reload this page.
Use live illink to trim framework - #91233
Conversation
ghost
commented
Aug 28, 2023
Tagging subscribers to this area: @dotnet/area-infrastructure-libraries Issue Detailsnull
|
Also prevent build-native.proj from importing illink.targets.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
- Don't reference ILLink.Tasks from subsets - Use PackageReference from illink.tasks - Import props from source directory Add extensibility to shipping targets to make this possible. - Set IsSourceProject false for .proj files
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Avoid needing to reorganize SDK imports
Uh oh!
There was an error while loading. Please reload this page.
Co-authored-by: Viktor Hofer <viktor.hofer@microsoft.com>
@sbomer I pushed one more commit to your branch to make sure that the tools build with the correct configuration when building from root. EDIT: Pushed one more as paths weird displayed weirdly in binlogs: ![]() |
We agreed on (at least under src/libraries) to use the Windows directory separator char `\` instead of a forward slash. This helps when looking at binlogs as those then correctly display a path.
ViktorHofer
commented
Aug 31, 2023
Built your changes locally with a mixed set of configurations: |
lewing
commented
Sep 1, 2023
This looks like it may be breaking the official build https://dev.azure.com/dnceng/internal/_build/results?buildId=2257152&view=results |
ViktorHofer
commented
Sep 1, 2023
Seems to be NativeAOT legs only. |
ViktorHofer
commented
Sep 1, 2023
Fix is here: #91454 |

#90517 added a workaround to trim the framework using the SDK's version of ILLink.Tasks (see #90517 (comment) for context). This removes the workaround and replaces it with logic to use the live build of ILLink.Tasks.
The dependency on ILLink.Tasks is expressed via a magical
ProjectReferencethat @ViktorHofer kindly helped me construct.Unfortunately I had to add a small extension point to
Microsoft.NET.ILLink.Tasks.props, to allow overriding the analyzer props path. This lets it be imported right out of the source tree, instead of from the build output of ILLink.Tasks.