Skip to content

IL scanner VTable error #120847

@vyacheslav-volkov

Description

@vyacheslav-volkov

Description

I tried experimental NativeAOT for Android with my framework and hit this problem.

When building I get:

EXEC : error VTable of type 'Impl`3<MugenMvvm.Views.Interfaces.IViewManager,
MugenMvvm.Api.Interfaces.IApiProviderComponent`1<MugenMvvm.Views.Interfaces.IViewManager>,
MugenMvvm.Bindings.Api.BindingBuilderRequest`1<MugenMvvm.Common.InlineObjectTuple>>'
not computed by the IL scanner. You can work around by running the compilation with scanner disabled.

This generic combination isn’t actually used at runtime. As a workaround I added an explicit reference so the type is kept:

public static class LinkerInclude
{
    public static void Include()
    {
        // Workaround for AOT linking / IL scanner
        _ = ComponentDescriptor.Impl<
                IViewManager,
                IApiProviderComponent<IViewManager>,
                BindingBuilderRequest<InlineObjectTuple>
            >.EmptyInstance;
    }
}

I have attached zip files from <IlcArg Include="--make-repro-path: as suggested here dotnet/android#10546

935452972_NativeAOT.Android.zip

2113164319_NativeAOT.Android.zip

Reproduction Steps

Build and run the android app from the link https://github.com/vyacheslav-volkov/NativeAot.Test

Expected behavior

No errors

Actual behavior

Build fails with the error

Regression?

No response

Known Workarounds

No response

Configuration

No response

Other information

No response

Metadata

Metadata

Assignees

Type

No type

Projects

Status

No status

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions