dotnet / dotnet/macios

.NET: Add support for producing a self-contained native framework/library

Open
#15,217 15 comments 13 reactions 0 assignees View on GitHub
dotnet feature only-dotnet request-for-comments
Dominant language
C#
Stars
2.9k
Forks
576
Avg merge
2d 13h
Merged PRs (30d)
96

Description

This is a meta/placeholder issue for tracking the interest in and the work required to produce a self-contained native framework or library in .NET.

_In particular we're not committing to actually implementing this, no decision has been made yet._

There are several questions that would have to be answered and solutions designed before we can even think about starting to work on this.

Open questions:

* Exactly what is exposed from managed code? Exposing only methods with the `[UnmanagedCallersOnly]` attribute would be the simplest, but it would also not enable some more complex scenarios (such as subclassing a managed class in Objective-C for instance).
* What happens if an app wants to use two shared libraries, built with different versions of the SDK/Runtime/etc?
* ...

Random thoughts:

* It's probably best to create a framework (and not a dylib), because dylibs only work on macOS, while frameworks work everywhere.
* We'd have to make sure it works with both MonoVM and CoreCLR.

Ref:

* https://github.com/dotnet/runtime/issues/68775
* https://github.com/mono/Embeddinator-4000

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.