[mono] System.Reflection.Emit doesn't propagate marshalling attributes to the created type
#58.783 aberto em 8 de set. de 2021
Métricas do repositório
- Stars
- (17.886 stars)
- Métricas de merge de PR
- (Mesclagem média 12d 11h) (661 fundiu PRs em 30d)
Description
See the comment below for a concise repro: https://github.com/dotnet/runtime/issues/58783#issuecomment-915439461
Some values relevant to marshaling from a StructLayoutAttribute and MarshalAsAttribute are not propagated to the dynamically created type.
Original bug report:
I tested it in Xamarin, but dotnet runtime also exists:

The correct size should be 100, which is correct on .net framework but wrong on mono. When I debug this code with mono on win, I found that this error is related to mono’s implementation of DynamicImage, which is caused by the attribute not being successfully applied during marshal.