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

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

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

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

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

1>C:\Program Files (x86)\MSBuild\Microsoft.NetNative\ARM\ilc\IlcInternals.targets(886,5): error : System.InvalidOperationException: Unable to generate a temporary class (result=1).

1>C:\Program Files (x86)\MSBuild\Microsoft.NetNative\ARM\ilc\IlcInternals.targets(886,5): error : error CS0012: The Type 'Windows.UI.Xaml.DependencyObject' is defined in an assembly that is not referenced. Add a reference to the assembly '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: The Type 'Windows.UI.Xaml.Data.IValueConverter' is defined in an assembly that is not referenced. Add a reference to the assembly '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: The Type 'Windows.UI.Xaml.Markup.IXamlMetadataProvider' is defined in an assembly that is not referenced. Add a reference to the assembly '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 :

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): error : in System.Xml.Serialization.XmlSerializer.GenerateSerializer(Type[] types, XmlMapping[] mappings, CompilerParameters parameters, 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.XmlSerializer.GenerateSerializer(Type[] types, 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 上找到一些东西,但没有结果。

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

感谢您的帮助!

最佳答案

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

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

关于c# - .NET Native 编译器不断抛出编译错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33593445/

相关文章:

c# - 从哈希表创建对象 C#

c# - 在 EF 模型优先中指定索引列

c# - EWS 创建约会以换取额外的自定义属性

c# - BDD SpecFlow 场景

msbuild - 为什么 MSBuild 不会构建名称中带有点的项目?

c# - 在 C# Emgu Open CV 中上传图像不起作用,每次我尝试加载时都会出现异常

c# - 相互依赖的链接规则

c# - 如何获取 GridView 的 DataSource 中的记录数

visual-studio - MSBuild:避免重复构建任何 CPU 项目引用

xml - 如何最好地更新 MSBuild 中的 XML 节点