Skip to content

Need to support per-ABI mscorlib.dll files #4337

@jonpryor

Description

@jonpryor

As part of the .NET 5 effort, the dotnet/runtime-based mono runtime will support (require?) per-ABI mscorlib.dll files: different files will be used between 32-bit and 64-bit environments and between ARM vs. x86.

Supporting this will require changing at least four separate areas:

  1. Installation: we can no longer have just xbuild-frameworks/MonoAndroid/v1.0/mscorlib.dll, but will presumably have xbuild/Xamarin/Android/lib/x86/bcl/mscorlib.dll/etc., one per ABI.

  2. Build: Which mscorlib.dll is used for build purposes? Presumably we'd have to preserve xbuild-frameworks/MonoAndroid/v1.0/mscorlib.dll and have it either be a copy of some ABI or be a "reference assembly"?

  3. Packaging: The .apk/.aab file will need to add these per-ABI mscorlib.dll files. How do we do that? We currently have a "flat" assemblies/ directory within the .apk to store all assemblies, but that won't work as-is anymore.

  4. Runtime: How do we specify which mscorlib.dll gets loaded? Is this something libmonodroid.so needs to explicitly control, or will libmonosgen-2.0.so control it, or...?

Lots of unknowns.

Metadata

Metadata

Labels

Area: App+Library BuildIssues when building Library projects or Application projects.possibly-staleIssues that are potentially no longer relevant.

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions