我有一个项目在没有 .NET Native 工具链的情况下运行得很好,但是一旦我激活它,我就会收到有关缺少互操作类型编组数据的异常:
System.Collections.Generic.List'1[Type] 缺少互操作类型封送数据。若要启用互操作类型封送数据,请将 MarshalObject 指令添加到应用程序 rd.xml 文件中。
我尝试在Default.rd.xml文件中添加整个命名空间:
<Namespace Name="System.Collections.Generic" Dynamic="Required All"/>
但这无济于事。
我应该在那里放什么才能使项目与 .NET Native 一起工作?
启用单一类型/整个命名空间有什么区别?对性能、内存或其他方面是否有任何影响?
我已经尝试了与动态和元帅对象进行多种不同的组合来<Namespace...>
和/或<Type...>
最后发现我只缺少括号{}
:
<Type Name="System.Collections.Generic.List{}" MarshalObject="Required All"/>