Search code examples
c#.netuwp.net-native

List<Type> is missing interop type marshalling data - .NET Native


I've a project that runs very fine without .NET Native tool chain, but as soon as I activate it, I get an exception about missing interop type marshalling data:

System.Collections.Generic.List`1[Type] is missing interop type marshalling data. To enable interop type marshalling data, add a MarshalObject directive to the application rd.xml file.

I've tried to add the whole namespace in the Default.rd.xml file:

<Namespace Name="System.Collections.Generic" Dynamic="Required All"/>

but it doesn't help.

What should I put there to make the project work with .NET Native?

What is the difference in enabling single type/whole namespace? Is there any impact on performance, memory or something different?


Solution

  • I've tried number of different combinations with Dynamic and MarshalObject to <Namespace...> and/or <Type...> finally it turned out that I was only missing the brackets {}:

    <Type Name="System.Collections.Generic.List{}" MarshalObject="Required All"/>