Skip to content

InjectAvaloniaXamlOutput appears to mangle property IntermediateAssembly on multiple runs and prevents trimming #17099

@noorez

Description

@noorez

Describe the bug

(For some reason this only appears on android builds..)

It looks like when InjectAvaloniaXamlOutput build target is run multiple times (for this case: (target "InjectAvaloniaXamlOutput" depends on it):) which has already run because "Compile" target required it, the path becomes mangled.

CompileAvaloniaXamlInputs=
 816620                            obj/Release/net8.0-android/Avalonia/project.dll
 816621                                    AvaloniaCompileOutput=obj/Release/net8.0-android/Avalonia/Avalonia/project.dll

notice how there are now two /Avalonia/Avalonia nested directories when in fact all the build objects are only in Avalonia.

This in turn causes the trimmer targets to not look in the correct location for the assemblies which need to be trimmed

To Reproduce

Compile android targets when trimming enabled.

Expected behavior

previous version on which this worked without issue for me 11.1.999-cibuild0045786-beta. expect that it should also work in recent versions too.

Avalonia version

11.1.2

OS

Android

Additional context

No response

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions