Xamarin.Mac applications can be compiled in three modes: one that uses Xamarin's curated Mobile Profile, the Xamarin.Mac .NET 4.5 Framework which allows you target existing full desktop assemblies and one that uses the entire .NET 4.5 API available in a system Mono installation.
The Mobile Profile removes some assemblies that are not very useful in AppStore scenarios, among others, the entire System.Configuration assembly and all of its internal uses in the system frameworks.
This is only available as part of the
The Xamarin.Mac .NET 4.5 Framework
To support 3rd party .NET assemblies, Xamarin added the Xamarin.Mac .NET 4.5 Framework which allows you target existing full desktop assemblies. Just like the Mobile framework, it doesn’t include the full BCL subset and is missing large, rarely used elements, such as
System.Configuration. By choosing this option however, you lose the additional link time optimization that the Xamarin.Mac Mobile Framework provides.
Xamarin.Mac applications use a system Mono. While Mono ships with many libraries and libraries, only a handful of these are supported by Xamarin for building native user experiences.
This is used for applications that need full access to the API. It is supported both by
XamMac.dll as well as the new
For more information, please see our Target Framework documentation.
This is a list of the assemblies supported by Xamarin for your Xamarin.Mac applications.The detailed list of these is listed below. Some notable omissions include System.EnterpriseServices, the ASP.NET stack and Windows.Forms.
|Mono.CompilerServices.SymbolWriter.dll||1.0||For compiler writers.|
|Mono.Data.Sqlite.dll||1.2||ADO.NET provider for SQLite; see limitations.|
|Mono.Data.Tds.dll||1.2||TDS Protocol support; used for System.Data.SqlClient support within System.Data.|
|monotouch.dll||1.0||This assembly contains the C# binding to the CocoaTouch API.|
|OpenTK.dll||1.0||The OpenGL/OpenAL object oriented APIs, extended to provide iPhone device support.|
Silverlight, plus types from the following namespaces:
|System.Data.dll||1.2||.NET 3.5 , with some functionality removed.|
|System.Data.Service.Client.dll||3.x||Full oData client.|
System.Drawing API - Classic API ONLY.
System.Drawing is not supported in the Unified API for the Xamarin.Mac .NET 4.5 or Mobile frameworks.
|System.ServiceModel.dll||1.1||WCF stack as present in Silverlight|
Silverlight, plus types from the following
|System.Transactions.dll||1.2||.NET 3.5; part of System.Data support.|
|System.Web.Services||1.1||Basic Web services from the .NET 3.5 profile, with the server features removed.|
Portable Class Libraries
In addition to the Mac bindings, Xamarin.Mac can consume .NET Portable Class Libraries.