c# - UWP Release build error - Missing assembly and XmlSerializer implicit conversion errors -
i have app uses xmlserializer serialize list of uwp's basicgeoposition file. when building debug on x86/64 , arm works fine, when switching release build scheme build .net native, compiler throws following errors:
system.invalidoperationexception: unable generate temporary class (result=1). error cs0012: type 'windows.devices.geolocation.basicgeoposition' defined in assembly not referenced. must add reference assembly 'windows.foundation.universalapicontract, version=4.0.0.0, culture=neutral, publickeytoken=null, contenttype=windowsruntime'. error cs0030: cannot convert type 'system.collections.generic.list<windows.devices.geolocation.basicgeoposition> [{...}\obj\x86\release\ilc\in\system.collections.dll]' 'system.collections.generic.list<windows.devices.geolocation.basicgeoposition> [{...}\oobj\x86\release\ilc\in\system.collections.dll]' error cs0029: cannot implicitly convert type 'system.collections.generic.list<windows.devices.geolocation.basicgeoposition> [{...}\oobj\x86\release\ilc\in\system.collections.dll]' 'system.collections.generic.list<windows.devices.geolocation.basicgeoposition> [{...}\oobj\x86\release\ilc\in\system.collections.dll]' the stack trace:
at system.xml.serialization.compiler.compile(string ns, xmlserializercompilerparameters xmlparameters, evidence evidence, string outputdir, ienumerable`1 referencedirectories, string intermediatedir, boolean loadassembly) @ system.xml.serialization.tempassembly.generateassembly(xmlmapping[] xmlmappings, type[] types, string defaultnamespace, evidence evidence, xmlserializercompilerparameters parameters, hashtable assemblies, string outputdir, ienumerable`1 referencedirectories, string intermediatedir, boolean loadassembly) @ system.xml.serialization.xmlserializer.generateserializer(type[] types, xmlmapping[] mappings, compilerparameters parameters, string outputdir, ienumerable`1 referencedirectories, string intermediatedir, boolean loadassembly) @ system.xml.serialization.xmlserializer.generateserializer(type[] types, string outputdir, ienumerable`1 referencedirectories, string intermediatedir, list`1 wcfserializers, boolean loadassembly) @ serializationassemblygenerator.program.main(string[] args) why happen? how resolve this?
i'm using visual studio 2017 ce.
edit: i've narrowed down xmlserializer. when comment out xmlserializer stuff in code builds fine release configuration.
full compiler output:
restoring nuget packages... prevent nuget restoring packages during build, open visual studio options dialog, click on package manager node , uncheck 'allow nuget download missing packages during build.' 1>------ build started: project: racepad2, configuration: release x86 ------ 1>c:\users\gala\documents\visual studio 2017\projects\racepad2\racepad2\src\racepad2\core\navigation\parsers.cs(111,46,111,47): warning cs0168: variable 'e' declared never used 1> racepad2 -> c:\users\gala\documents\visual studio 2017\projects\racepad2\racepad2\bin\x86\release\racepad2.exe 1> starting .net native compilation 1> processing application code 1> computing application closure , generating interop code 1> generating serialization code 1> compiling interop code 1>c:\program files (x86)\msbuild\15.0\.net\.netnative\15.0.24211\x86\ilc\ilcinternals.targets(936,5): error : system.invalidoperationexception: unable generate temporary class (result=1). 1>c:\program files (x86)\msbuild\15.0\.net\.netnative\15.0.24211\x86\ilc\ilcinternals.targets(936,5): error : error cs0012: type 'windows.devices.geolocation.basicgeoposition' defined in assembly not referenced. must add reference assembly 'windows.foundation.universalapicontract, version=4.0.0.0, culture=neutral, publickeytoken=null, contenttype=windowsruntime'. 1>c:\program files (x86)\msbuild\15.0\.net\.netnative\15.0.24211\x86\ilc\ilcinternals.targets(936,5): error : error cs0030: cannot convert type 'system.collections.generic.list<windows.devices.geolocation.basicgeoposition> [c:\users\gala\documents\visual studio 2017\projects\racepad2\racepad2\obj\x86\release\ilc\in\system.collections.dll]' 'system.collections.generic.list<windows.devices.geolocation.basicgeoposition> [c:\users\gala\documents\visual studio 2017\projects\racepad2\racepad2\obj\x86\release\ilc\in\system.collections.dll]' 1>c:\program files (x86)\msbuild\15.0\.net\.netnative\15.0.24211\x86\ilc\ilcinternals.targets(936,5): error : error cs0030: cannot convert type 'windows.devices.geolocation.basicgeoposition' 'windows.devices.geolocation.basicgeoposition [c:\users\gala\documents\visual studio 2017\projects\racepad2\racepad2\obj\x86\release\ilc\in\winmetadata\windows.winmd]' 1>c:\program files (x86)\msbuild\15.0\.net\.netnative\15.0.24211\x86\ilc\ilcinternals.targets(936,5): error : error cs0030: cannot convert type 'windows.devices.geolocation.basicgeoposition' 'windows.devices.geolocation.basicgeoposition [c:\users\gala\documents\visual studio 2017\projects\racepad2\racepad2\obj\x86\release\ilc\in\winmetadata\windows.winmd]' 1>c:\program files (x86)\msbuild\15.0\.net\.netnative\15.0.24211\x86\ilc\ilcinternals.targets(936,5): error : error cs0029: cannot implicitly convert type 'system.collections.generic.list<windows.devices.geolocation.basicgeoposition> [c:\users\gala\documents\visual studio 2017\projects\racepad2\racepad2\obj\x86\release\ilc\in\system.collections.dll]' 'system.collections.generic.list<windows.devices.geolocation.basicgeoposition> [c:\users\gala\documents\visual studio 2017\projects\racepad2\racepad2\obj\x86\release\ilc\in\system.collections.dll]' 1>c:\program files (x86)\msbuild\15.0\.net\.netnative\15.0.24211\x86\ilc\ilcinternals.targets(936,5): error : error cs0030: cannot convert type 'system.collections.generic.list<windows.devices.geolocation.basicgeoposition> [c:\users\gala\documents\visual studio 2017\projects\racepad2\racepad2\obj\x86\release\ilc\in\system.collections.dll]' 'system.collections.generic.list<windows.devices.geolocation.basicgeoposition> [c:\users\gala\documents\visual studio 2017\projects\racepad2\racepad2\obj\x86\release\ilc\in\system.collections.dll]' 1>c:\program files (x86)\msbuild\15.0\.net\.netnative\15.0.24211\x86\ilc\ilcinternals.targets(936,5): error : error cs0029: cannot implicitly convert type 'system.collections.generic.list<windows.devices.geolocation.basicgeoposition> [c:\users\gala\documents\visual studio 2017\projects\racepad2\racepad2\obj\x86\release\ilc\in\system.collections.dll]' 'system.collections.generic.list<windows.devices.geolocation.basicgeoposition> [c:\users\gala\documents\visual studio 2017\projects\racepad2\racepad2\obj\x86\release\ilc\in\system.collections.dll]' 1>c:\program files (x86)\msbuild\15.0\.net\.netnative\15.0.24211\x86\ilc\ilcinternals.targets(936,5): error : error cs0030: cannot convert type 'system.collections.generic.list<windows.devices.geolocation.basicgeoposition> [c:\users\gala\documents\visual studio 2017\projects\racepad2\racepad2\obj\x86\release\ilc\in\system.collections.dll]' 'system.collections.generic.list<windows.devices.geolocation.basicgeoposition> [c:\users\gala\documents\visual studio 2017\projects\racepad2\racepad2\obj\x86\release\ilc\in\system.collections.dll]' 1>c:\program files (x86)\msbuild\15.0\.net\.netnative\15.0.24211\x86\ilc\ilcinternals.targets(936,5): error : error cs0029: cannot implicitly convert type 'windows.devices.geolocation.basicgeoposition [c:\users\gala\documents\visual studio 2017\projects\racepad2\racepad2\obj\x86\release\ilc\in\winmetadata\windows.winmd]' 'windows.devices.geolocation.basicgeoposition' 1>c:\program files (x86)\msbuild\15.0\.net\.netnative\15.0.24211\x86\ilc\ilcinternals.targets(936,5): error : error cs0029: cannot implicitly convert type 'windows.devices.geolocation.basicgeoposition [c:\users\gala\documents\visual studio 2017\projects\racepad2\racepad2\obj\x86\release\ilc\in\winmetadata\windows.winmd]' 'windows.devices.geolocation.basicgeoposition' 1>c:\program files (x86)\msbuild\15.0\.net\.netnative\15.0.24211\x86\ilc\ilcinternals.targets(936,5): error : 1>c:\program files (x86)\msbuild\15.0\.net\.netnative\15.0.24211\x86\ilc\ilcinternals.targets(936,5): error : @ system.xml.serialization.compiler.compile(string ns, xmlserializercompilerparameters xmlparameters, evidence evidence, string outputdir, ienumerable`1 referencedirectories, string intermediatedir, boolean loadassembly) 1>c:\program files (x86)\msbuild\15.0\.net\.netnative\15.0.24211\x86\ilc\ilcinternals.targets(936,5): error : @ system.xml.serialization.tempassembly.generateassembly(xmlmapping[] xmlmappings, type[] types, string defaultnamespace, evidence evidence, xmlserializercompilerparameters parameters, hashtable assemblies, string outputdir, ienumerable`1 referencedirectories, string intermediatedir, boolean loadassembly) 1>c:\program files (x86)\msbuild\15.0\.net\.netnative\15.0.24211\x86\ilc\ilcinternals.targets(936,5): error : @ system.xml.serialization.xmlserializer.generateserializer(type[] types, xmlmapping[] mappings, compilerparameters parameters, string outputdir, ienumerable`1 referencedirectories, string intermediatedir, boolean loadassembly) 1>c:\program files (x86)\msbuild\15.0\.net\.netnative\15.0.24211\x86\ilc\ilcinternals.targets(936,5): error : @ system.xml.serialization.xmlserializer.generateserializer(type[] types, string outputdir, ienumerable`1 referencedirectories, string intermediatedir, list`1 wcfserializers, boolean loadassembly) 1>c:\program files (x86)\msbuild\15.0\.net\.netnative\15.0.24211\x86\ilc\ilcinternals.targets(936,5): error : @ serializationassemblygenerator.program.main(string[] args) 1>c:\program files (x86)\msbuild\15.0\.net\.netnative\15.0.24211\x86\ilc\ilcinternals.targets(936,5): error : internal compiler error: 1 or more errors occurred. ========== build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
whilst looking how use nuget replace xmlserializer json solution, stumbled upon updates section. turns out netcore .net native runtime outdated, version 5.2.4. updating version 5.4.0 solved issue.
Comments
Post a Comment