.NET Native编译器不断抛出编译错误

时间:2015-11-08 11:32:17

标签: c# .net msbuild uwp .net-native

我一直在尝试使用.NET Native工具链编译我的应用程序好几天,但我仍然无法让它运行起来。

如果我尝试在不使用.NET Native选项的情况下编译它(因此在调试模式下),一切正常并且应用程序已编译并按预期运行。

但是,每当我尝试在发布模式下编译它时,只要.NET Native进程启动,我就会收到以下错误:

  

1> C:\ Program Files(x86)\ MSBuild \ Microsoft.NetNative \ ARM \ ilc \ IlcInternals.targets(886,5):error:System.InvalidOperationException:无法生成临时类(result = 1)

     

1> C:\ Program Files(x86)\ MSBuild \ Microsoft.NetNative \ ARM \ ilc \ IlcInternals.targets(886,5):error:error CS0012:Type' Windows.UI.Xaml。 DependencyObject的'在未引用的程序集中定义。添加对程序集的引用" Windows.Foundation.UniversalApiContract,Version = 1.0.0.0,Culture = neutral,PublicKeyToken = null,ContentType = WindowsRuntime'。

     

1> C:\ Program Files(x86)\ MSBuild \ Microsoft.NetNative \ ARM \ ilc \ IlcInternals.targets(886,5):error:error CS0012:Type' Windows.UI.Xaml。 Data.IValueConverter'在未引用的程序集中定义。添加对程序集的引用" Windows.Foundation.UniversalApiContract,Version = 1.0.0.0,Culture = neutral,PublicKeyToken = null,ContentType = WindowsRuntime'。

     

1> C:\ Program Files(x86)\ MSBuild \ Microsoft.NetNative \ ARM \ ilc \ IlcInternals.targets(886,5):error:error CS0012:Type' Windows.UI.Xaml。 Markup.IXamlMetadataProvider'在未引用的程序集中定义。添加对程序集的引用" Windows.Foundation.UniversalApiContract,Version = 1.0.0.0,Culture = neutral,PublicKeyToken = null,ContentType = WindowsRuntime'。

     

1> C:\ Program Files(x86)\ MSBuild \ Microsoft.NetNative \ ARM \ ilc \ IlcInternals.targets(886,5):错误:

     

1> C:\ Program Files(x86)\ MSBuild \ Microsoft.NetNative \ ARM \ ilc \ IlcInternals.targets(886,5):error:in System.Xml.Serialization.Compiler.Compile(String ns,XmlSerializerCompilerParameters xmlParameters,Evidence evidence,String outputDir,String intermediateDir,Boolean loadAssembly)

     

1> C:\ Program Files(x86)\ MSBuild \ Microsoft.NetNative \ ARM \ ilc \ IlcInternals.targets(886,5):error:in System.Xml.Serialization.TempAssembly.GenerateAssembly(XmlMapping [] xmlMappings ,Type [] types,String defaultNamespace,Evidence evidence,XmlSerializerCompilerParameters parameters,Hashtable assemblies,String outputDir,String intermediateDir,Boolean loadAssembly)

     

1> C:\ Program Files(x86)\ MSBuild \ Microsoft.NetNative \ ARM \ ilc \ IlcInternals.targets(886,5):错误:在System.Xml.Serialization.XmlSerializer.GenerateSerializer(Type []类型中,XmlMapping [] mappings,CompilerParameters参数,String outputDir,String intermediateDir,Boolean loadAssembly)

     

1> C:\ Program Files(x86)\ MSBuild \ Microsoft.NetNative \ ARM \ ilc \ IlcInternals.targets(886,5):错误:在System.Xml.Serialization.XmlSerializer.GenerateSerializer(Type []类型中,String outputDir,String intermediateDir,List`1 wcfSerializers,Boolean loadAssembly)

     

1> C:\ Program Files(x86)\ MSBuild \ Microsoft.NetNative \ ARM \ ilc \ IlcInternals.targets(886,5):error:in SerializationAssemblyGenerator.Program.Main(String [] args)

我试图在Google上找到一些东西,但没有结果。

我真的不知道我在这里做错了什么,或者我能做些什么来解决这个问题。正如我所说,当我在调试模式下编译项目时,没有.NET Native,一切都很好。

感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

这很可能是由应用程序中的* .rd.xml文件或包含太多包含的库集引起的。寻找XmlSerialize ex:

的过度广泛使用

最有可能的是,您实际上并不需要在MyAssembly中序列化所有内容,而这些广泛的内容使得序列化生成器更有可能发生阻塞和崩溃。