Support Center

Can I use standard desktop Mono assemblies or .NET assemblies with MonoTouch?

Last Updated: Sep 25, 2011 11:40PM EDT
You can not reuse the 1.0 or 2.0 desktop/server assemblies from Mono or .NET with MonoTouch.  
 
To reuse existing .NET code with MonoTouch, you must recompile your libraries with MonoTouch's compiler and base assemblies.
 
In particular, replacing the assemblies from MonoTouch with assemblies from the desktop Mono edition will not work since many APIs are missing from the MonoTouch lightweight Mono profile.    
 
APIs in .NET are bound to the core mscorlib library.    On the desktop and server 1.0, 1.1 and 2.0 exists (version numbers: 1.0.3300.0, 1.0.5000.0 and 2.0.0.0 respectively), from the API exposed in mscorlib the rest of the assemblies flow.
 
In MonoTouch instead of using the server/desktop assemblies we picked the Silverlight foundation since this foundation is lighter: it has fewer dependencies, brings less code to the device and drop a number of features that do not apply to the iPhone (configuring the runtime through System.Configuration for example and .config files that end-users can edit).