- Home /
XmlDocument will not build. Works perfectly in editor.
I am currently working on a Universal Windows Platform Application for the Microsoft Hololens. When the app starts I initialize an XmlDocument type and parse an XML file stored in my resources folder. All works as expected in the editor, but it seems like there is some compiler error when I build out that it preventing my XML code from making it to a headset. I had this same problem a few months ago but had a rusty work around just to prep for a demo.
The first attached image shows what unity returns when I attempt to build to a headset.
The second image is what happens after I attempt to build to a headset (It deference's all of my scripts. All I had to do to fix this was restart Unity)
I am currently working out of an earlier branch of the MixedRealityToolkit-Unity. Version: Unity 2017 1.1f1 Unity Pro
-EDIT 1: I came across this link from this post But it is not making much sense to me. I attempted to implement the change into my imports.
using UnityEngine;
#if NETFX_CORE
using XmlReader = WinRTLegacy.Xml;
#else
using XmlReader = System.Xml;
#endif
using System.Collections.Generic;
But the compiler did not recognize this when I attempted to run in the Unity editor. so I tried adding the referance
using System.Xml;
to fix the error in the editor and still nothing.
-EDIT 2: I did a lot more digging into forums and found that there is an alternative that may work for Unity. User monark in this thread
"found out so far is that it's easier to replace XmlDocument with XDocument and then use Element and Elements (as well as potentially Descendants) to replace SelectSingleNode and SelectNodes".
This is going to put a huge block in my current sprint. But there seems to be nothing else I can do about that. I find it ridiculous and can't seem to understand why this will not work in the first place. I'll update in the event other people manage to google search themselves here. Keep in mind that at this point in me posting no one has supplied an answer or a solution, there may be options that other users below have suggested. I'll keep an eye out.
-EDIT 3: Took a day to switch all my functions from XmlDocument to XDocument. I was able to build after loading the XML which made me excited this was going to work. I then took the day to switch to XPathSelectElement and XPathSelectElements and got my code to work again perfectly, if not better and more condensed. Then I attempted to build to a headset and got the same errors as before.
Assets\Scripts\XMLParser.cs(5,18): error CS0234: The type or namespace name 'XPath' does not exist in the namespace 'System.Xml' (are you missing an assembly reference?)
It seems that the function library I used was not JUST System.Xml.Linq, but also System.Xml.XPath. BOTH of which Windows 10 seems to hate. I visited this post to see if anyone else had the same issue and tried everything they had. I even tried adding System.Xml.XPath to my NuGet. I ended up having to take a day off because of the amount of stress. As of this time there are still no posts or ideas on how to proceed, so I'll just keep googling.
Your answer
Follow this Question
Related Questions
Cloud recognition in Vuforia 0 Answers
windows sdk installed but get error 1 Answer
UWP Build Failing 0 Answers
Unity PC (Windows) Build failing 2 Answers
error "This app can't run on your pc" when i run .exe from win10 Home 0 Answers