Known breaking changes / differences in CoreCLR #10795
Labels
documentation
The issue or pull request is about documentation
dotnet
An issue or pull request related to .NET (6)
Milestone
This issue is to list all differences between MonoVM and CoreCLR.
Differences between legacy Xamarin and .NET 6+ (that happen for both MonoVM and CoreCLR) should be listed here: #8900
Assembly.GetType works differently for nested types
Mono accepts both
+
and/
as the character that separates the declaring type and the nested type, while CoreCLR only accepts/
.Test case:
Mono prints:
CoreCLR prints:
It's not possible to pass an
Action<T>
or aFunc<T>
to a P/InvokeRef: dotnet/runtime#32963
It's not possible to have CoreCLR unwind native frames for managed exceptions.
This means that no entry point into managed code can "leak" exceptions, because CoreCLR will abort the process.
For Objective-C entry points, Xamarin will catch managed exceptions and convert them to Objective-C exceptions, but this won't be done for reverse P/Invokes in user code.
As a result, the
UnwindNativeCode
andUnwindManagedCode
values for exception marshaling are not valid when using CoreCLR.Ref: #11344
The text was updated successfully, but these errors were encountered: