I know there has been a few posts on this topic before, but does anyone know of anyway to check what classes you are referencing against?
I have been through all my scripts and plugins with a fine tooth comb, and matched up every class I use with the mscorlib.dll from mono/2.0, using .Net Reflector to verify that the class i am using is contained within that DLL.
But yet, when I build to XCode, it links against those 2 DLLs. I did have an issue when using the TextScanner class from the wiki, which uses Regex which is part of System.DLL (which in turn references System.Xml.DLL), but I removed that class and worked my own version that doesn’t need Regex.
Could XCode (or Unity?) be caching an old version of my project or something somehow?
This is happening with Unity 3.1 and 3.2 with iOS Basic. I’d like to get to the bottom of the problem, if possible.
When you do a replacement build, they would be gone unless something else in your project is still refering to it directly or indirectly …
perhaps you use some other assembly that uses it (.net json libraries for example commonly use system.xml and/or regex too)
Hmmm. I don’t use any Boo, I only use C# (and a few Unityscript plugins). There might be something else in my code that is referencing something in System.dll…
Yup, just removed the (as it turned out) unnecessary JS file, and converted the other, and System.dll is no longer required, neither is Boo.Lang.dll, which shaves off quite a substantial amount of file size - around 10Mb or so, for something I wasn’t really using.
Fixed how? The only thing to fix by UT, apparently, is the Boo runtime referencing System.dll, according to mantasp comment; when that fix is coming, only they can know. But Unity’s JS is built on top of Boo, and if all of your scripts are in JS (as are mine, currently) you wont be able to get out of the Boo dll dependency.
So other than the stated work-in-progress, there’s not much of a fix to wait for, unfortunately.