Skip to content

IntermediateAssembly should be used in ILC inputs #99731

Closed
@MrJul

Description

@MrJul

Currently, NativeAOT hardcodes its main input to be $(IntermediateOutputPath)$(TargetName)$(TargetExt) through the ComputeIlcCompileInputs target:

<ManagedBinary Condition="$(BuildingFrameworkLibrary) != 'true'" Include="$(IntermediateOutputPath)$(TargetName)$(TargetExt)" />

It would be nice to have this target use the @(IntermediateAssembly) item instead.

The current behavior can be problematic when you happen to have any custom target adjusting that item. This requires the target to also be aware of ILC targets, as seen here: AvaloniaUI/Avalonia#14966

As far as I can tell, build, standard publish and ILLink all seem to respect changing @(IntermediateAssembly), only ILC doesn't.

Is there any reason for the current behavior? Is it possible to use @(IntermediateAssembly) for consistency?
Thanks!

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    Status

    No status

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions