Open MichalStrehovsky opened 2 years ago
Tagging subscribers to this area: @dotnet/area-system-reflection See info in area-owners.md if you want to be subscribed.
Author: | MichalStrehovsky |
---|---|
Assignees: | - |
Labels: | `area-System.Reflection`, `area-NativeAOT-coreclr` |
Milestone: | 8.0.0 |
I do not think it make sense to have this custom build into Native AOT compiler like it was done in .NET Native. We should be looking at this as "reverse Invoke" reflection feature for all runtimes.
I do not think it make sense to have this custom build into Native AOT compiler like it was done in .NET Native. We should be looking at this as "reverse Invoke" reflection feature for all runtimes.
Is there an existing proposal for this?
@MichalStrehovsky do you plan on working on this - it was originally marked 8.0 so I assume it was important at that time at least.
cc @buyaa-n per our offline discussion
Not planning to work on it. There is an implementation in .NET Native that one can take inspiration from. There might be design docs as well but it was long time ago and I didn't work on any aspect of it.
Moving to 8.0 for now but we need to discuss whether this is an AOT issue or a reflection\DispatchProxy issue.
Moving to future; doesn't seem to be high enough priority to make the cut.
We should take another look at this for v9.
Is there any workaround?
Is there any workaround?
No workaround, the implementation is full of Reflection.Emit and that's unsupportable in current form.
Lack of support for DispatchProxy will block apps that use WCF from using the new UWP on .NET 9 capability as that uses native aot. Blog post announcing UWP on .NET 9: https://devblogs.microsoft.com/ifdef-windows/preview-uwp-support-for-dotnet-9-native-aot/
The generic DispatchProxy.Create can be done ahead of time, but it requires an AOT compiler feature.