El backend de scripting .NET que es utilizado en Windows Store es una versión especial de .NET para esta plataforma, que no es completamente compatible con Mono. En particular algunos tipos de datos faltan y otras clases no tienen ciertos métodos, que las mismas clases tienen en Mono.
Para hacer la portabilidad de juegos existentes para la tienda de Windows más fácil, algunos de los tipos .NET que faltan son proporcionados por Unity. Adicionalmente, algunos métodos de extensión y tipos de remplazo fueron agregados para hacer la migración más fácil.
These types are placed in PlaybackEngines\metrosupport\Managed\WinRTLegacy.dll, every Windows Store SDK has its own WinRTLegacy.dll.
Los Types (tipos), proporcionados por Unity incluyen:
Adicionalmente a estos un namespace WinRTLegacy es agregado para proporcionar clases adicionales y métodos de extensión. Entre estos hay:
La manera más simple de utilizar las clases de remplazo de WinRTLegacy es vía el uso de la directiva:
#if NETFX_CORE
using XmlReader = WinRTLegacy.Xml.XmlReader;
#else
using XmlReader = System.Xml.XmlReader;
#endif
De esta manera usted puede utilizar la clase XmlReader, que será tomada del namespace WinRTLegacy.Xml en Windows Store y desde el namespace System.Xml en otra parte.
Algunos de los tipos fueron traídos de vuelta a .NET para Universal Windows 10 Apps, por lo tanto la implementación para estos tipos fueron quitados en WinRTLegacy.dll