UWP:ILT0032:无法编译序列化代码

时间:2018-10-10 09:48:44

标签: c# uwp native .net-native

在发布模式下编译UWP应用时,出现以下错误:

  

System.ArgumentException:具有相同键的项已经被   添加。在System.ThrowHelper.ThrowArgumentException(ExceptionResource   资源),位于System.Collections.Generic.Dictionary 2.Insert(TKey key, TValue value, Boolean add) at System.Collections.Generic.Dictionary 2.Add(位于TKey键,TValue值)处   System.Xml.Serialization.XmlSerializationReaderCodeGen.WriteLiteralStructMethod(StructMapping   structMapping)   System.Xml.Serialization.XmlSerializationReaderCodeGen.WriteStructMethod(StructMapping   structMapping)   System.Xml.Serialization.XmlSerializationReaderCodeGen.GenerateMethod(TypeMapping   映射)   System.Xml.Serialization.XmlSerializationCodeGen.GenerateReferencedMethods()   在   System.Xml.Serialization.XmlSerializationReaderCodeGen.GenerateEnd(String []   方法,XmlMapping [] xmlMappings,Type []类型)位于   System.Xml.Serialization.TempAssembly.GenerateAssembly(XmlMapping []   xmlMappings,Type []类型,字符串defaultNamespace,证据证据,   XmlSerializerCompilerParameters参数,哈希表程序集,   字符串outputDir,字符串assemblyNameBase,IEnumerable 1 referenceDirectories, String intermediateDir, Boolean loadAssembly) at System.Xml.Serialization.XmlSerializer.GenerateSerializer(Type[] types, XmlMapping[] mappings, CompilerParameters parameters, String outputDir, String assemblyNameBase, IEnumerable 1   referenceDirectories,字符串的intermediateDir,布尔的loadAssembly)   System.Xml.Serialization.XmlSerializer.GenerateSerializer(Type []   类型,字符串outputDir,字符串assemblyNameBase,IEnumerable 1 referenceDirectories, String intermediateDir, List 1 wcfSerializers,   布尔值loadAssembly)   SerializationAssemblyGenerator.Program.Main(String [] args)ILT0032:   无法编译序列化代码。请参阅构建日志以获取错误   详细信息。

我发现this link描述了同样的问题。但是提出的删除原始类型的KnownType属性的解决方案不适用于我的问题。

当我取消选中“使用.NET Native工具链编译”时,错误消失了,但是二进制分析器失败并出现以下错误:

  

dotnet-Microsoft.XmlSerializer.Generator.dll失败了   AppContainerCheck检查。

对于我来说,生成的XmlSerialization程序集不起作用(没有更快的序列化),如果我知道的话,我将关闭这些组件的生成。

有人知道如何使用UWP解决此发行版编译问题吗?

0 个答案:

没有答案