.NET本机编译器不断抛出编译错误

本文关键字:编译 错误 本机 编译器 NET | 更新日期: 2023-09-27 18:20:58

我已经尝试使用.NET Native工具链编译我的应用程序好几天了,但我还是没能让它正常工作。

如果我尝试在不使用.NET Native选项的情况下编译它(因此在调试模式下),一切都很好,应用程序也会按预期编译和运行。

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

1>C: ''Program Files(x86)''MSBuild''Microsoft.NetNative''ARM''ilc''IlcInternals.targets(886,5):错误:System.InvalidOperationException:无法生成临时类(结果=1)。

1>C: ''Program Files(x86)''MSBuild''Microsoft.NetNative''ARM''ilc''IlcInternals.targets(886,5):错误:错误CS0012:在未引用的程序集中定义了类型"Windows.UI.Xaml.DependencyObject"。添加对程序集"Windows.Foundation.UniversalApiContact,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):错误:错误CS0012:在未引用的程序集中定义了类型"Windows.UI.Xaml.Data.IValueConverter"。添加对程序集"Windows.Foundation.UniversalApiContact,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):错误:错误CS0012:在未引用的程序集中定义了类型"Windows.UI.Xaml.Markup.IXamlMetadataProvider"。添加对程序集"Windows.Foundation.UniversalApiContact,Version=1.0.0.0,Culture=neutral,PublicKeyToken=null,ContentType=WindowsRuntime"的引用。

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

1>C: ''Program Files(x86)''MSBuild''Microsoft.NetNative''ARM''ilc''IlcInternals.targets(886,5):错误:在System.Xml.Serialization.Compiler.Compile(字符串ns,XmlSerializer编译器参数xmlParameters,证据,字符串outputDir,字符串intermediateDir,布尔加载程序集)

1>C: ''Program Files(x86)''Microsoft.NetNative''ARM''ilc''IlcInternals.targets(886,5):错误:在System.Xml.Serialization.TempAssembly.GenerateAssembly中(XmlMapping[]xmlMappings,Type[]类型,字符串defaultNamespace,证据,XmlSerializerCompilerParameters参数,哈希表程序集,字符串outputDir,字符串intermediateDir,布尔loadAssembly)

1>C: ''Program Files(x86)''MSBuild''Microsoft.NetNative''ARM''ilc''IlcInternals.targets(886,5):错误:在System.Xml.Serialization.XmlSerializer.GenerateSerializer(Type[]类型、XmlMapping[]映射、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):错误:在SerializationAssemblyGenerator.Program.Main(String[]args)中

我试着在谷歌上找到一些东西,但没有结果。

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

谢谢你的帮助!

.NET本机编译器不断抛出编译错误

这很可能是由应用程序或库集中的*.rd.xml文件过于包容引起的。查找XmlSerialize ex:的过度广泛使用

最有可能的是,您实际上不需要在MyAssembly中序列化EVERYTHING,而这些类型的广泛包含使序列化生成器更有可能出现阻塞和崩溃。