C# 列表的运行时指令<;可为空<;T>&燃气轮机;

C# 列表的运行时指令<;可为空<;T>&燃气轮机;,c#,generics,win-universal-app,.net-native,C#,Generics,Win Universal App,.net Native,在针对System.Collections.Generic.List的Windows 10通用应用程序的发布版本中,我遇到了一个MissingMetadataException,但我不知道如何应用runtime指令 我已经成功地为更简单的情况添加了指令,System.Collections.Generic.List,如下所示: <TypeInstantiation Name="System.Collections.Generic.List" Arguments="System.Int32"

在针对
System.Collections.Generic.List
的Windows 10通用应用程序的发布版本中,我遇到了一个
MissingMetadataException
,但我不知道如何应用runtime指令

我已经成功地为更简单的情况添加了指令,
System.Collections.Generic.List
,如下所示:

<TypeInstantiation Name="System.Collections.Generic.List" Arguments="System.Int32" Dynamic="Required Public" />

但我似乎无法正确定义嵌套泛型的指令。我尝试了很多变化,主要是以下几点:

 <TypeInstantiation Name="System.Collections.Generic.List" Arguments="System.Nullable" Dynamic="Required Public"  >
   <TypeInstantiation Name="System.Nullable" Arguments="System.Int32" Dynamic="Required Public" />
 </TypeInstantiation>


这里处理嵌套泛型类型的正确方法是什么?

一些建议。如果启用.NET Native进行调试(项目属性>生成>启用.NET Native复选框),您将获得更好的整体调试体验。特别是,当调试配置保存创建良好的错误对话框所需的资源字符串时,您将从异常中获得更多有用的消息。我想它会把你引向这一页,这将有助于你上路

我也很想看看是什么导致了我们的失误,因为我天真地认为这其中的大部分“只是起作用”。我们在.NET本机编译器中做了大量工作,以发现常见的反射模式,因此,能够看到您编写的混淆编译器的内容可以帮助我们为每个人编写更好的分析!我被期望这也能“起作用”:)。这是一个作为商业产品发布的库(实际上有4个程序集)。我们大量使用反射、DataContractSerializer和自定义的基于重选的序列化程序。程序集当前具有最少的rd.xml文件,并且是在发布模式下生成的。测试使用这些库的应用程序时会出现问题。应用程序处于调试模式,启用了.NET本机,但错误消息和堆栈跟踪仍然没有多大帮助。。。见下文第2部分。。。。。第二部分。。。我认为错误发生在我们将已知类型输入到自定义DCS时,该DC作为操作行为注入WCF堆栈中。在我们的库所需的已知类型中,有各种List和List,其中T是数字类型或其他结构。我们在这里做了一个typeof(List)。MakeGenericType(t),这似乎是问题所在。似乎我们可以在编译器中取得进展。我很高兴通过电子邮件与您聊天,了解更多细节,以便我们可以看到可以做些什么。如果这是您可以帮助我们解决的问题,那么获取我们的电子邮件地址是dotnetnative@microsoft.com.Thanks,我以前见过疑难解答,但在某个时候挂断了TypeInstantiation指令。疑难解答确实帮助解决了元数据问题。