Reflection in Native C#

Today, Microsoft announced that their native .NET compiler in the cloud would support reflection via XML styled directive files. Essentially, the app will hit the XML for meta-data associated with a Type it needs to reflect in order to access its Members. This is interesting but could create a headache for develoeprs in the App Store.

There is potential that this might cause problems in the apps, by having static assemblies try to do something that a dynamic assembly was designed to do. If the application crashes due to an issue with the reflection work-around Microsoft is using it will be hard for a developer to troubleshoot it. The developer will try to reproduce the steps required to crash, only to have the app work in the development environment. Since the native conversion takes place in the cloud, I would be extremely apprehensive about enabling this feature on any of my apps.

It would be one thing if I could perform this conversion locally so I can test it, but there is a lot of requirements for native compiling due to varying hardware that would make this feature expensive for local builds.

My current project doesn't make use of Reflection and so if I need to, I could make it native. My next planned project (already started on) makes heavy use of reflection so I'll probably avoid native C#.