How do I know if my build can be used by Mono, MonoTouch, MonoDroid?

I am new to Mono. I have a .NET Framework 3.5 build and I want to know if I can use it with mono. In particular:

  • Do I need to compile my .NET Project with Mono or do Mono my .NET assembly compiled from Visual Studio?

  • Are there separate MonoDroid and MonoTouch compilers?

  • Does mono work with obfuscated assemblies?

  • How to check my builds in Mono, MonoDroid and MonoTouch? Do I really need to buy Android and IPhone or are there mono emulators?

+4
source share
2 answers
  • Mono will run builds compiled using Visual Studio. MonoTouch and Mono for Android assemblies usually need to be compiled using the supplied monocompiler to make sure that it compiled against the correct assembly builds (so you do not use functions that will not be available at run time);

  • Each ship has its own smcs compiler, but it is basically identical (between MonoTouch and Mono for Android), that is, it may be slightly more relevant than the other, depending on the release date;

  • It depends on how obfuscation is performed. Some tools will do something that does not meet ECMA requirements, but is allowed by MS JIT. These tricks can now work on Mono.

  • Both MonoTouch and Mono for Android are available as trial versions and will work with either an iOS simulator (MonoTouch) or an Android emulator (Mono for Android). However, simulators and emulators are not a reality (for example, performance or even functions), so you will eventually need devices to make sure everything works as you expect (but you can start without equipment).

+3
source

You might want to run your code using the mono migration analyzer to find out what is failing or not supported. You can find the tool here: http://www.mono-project.com/MoMA .

You can also see current mono compatibility with various .Net features at http://www.mono-project.com/Compatibility .

+1
source

All Articles