What are some key bindings that aren't included?
You can find the complete list of limitations in Monotouch at Monotouch.net.
A short list of .NET features not available in Monotouch:
- The Dynamic Language Runtime (DLR)
- Generic Virtual Methods
- P/Invokes in Generic Types
- Value types as Dictionary Keys
- System.Reflection.Emit
- System.Runtime.Remoting
Here is a link of the assemblies that it ships with: http://monotouch.net/Documentation/Assemblies
Here is a summary of the .Net framework assemblies:
System.dll
Silverlight, plus types from the following namespaces:
System.Collections.Specialized
System.ComponentModel
System.ComponentModel.Design
System.Diagnostics
System.IO.Compression System.Net
System.Net.Cache System.Net.Mail
System.Net.Mime
System.Net.NetworkInformation
System.Net.Security
System.Net.Sockets
System.Security.Authentication
System.Security.Cryptography
System.TimersSystem.Core.dll
System.Data.dll
System.Json.dll
System.ServiceModel.dll
System.Transactions.dll
System.Web.Services
System.Xml.dll
System.Xml.Linq.dll
One thing to also mention is you cannot reference .NET assemblies that haven't been built/compiled using the .NET MonoTouch configuration.
So if you have a favourite .NET 2.0 library you will need to re-import the source into a new MonoTouch project, compile it, and then reference it. There may be an easier way of doing this by editing the .csproj
file but I haven't found it.