PDF for offline use:
Related Articles:

Target Frameworks

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.

Mobile Profile

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 Xamarin.Mac.dll framework.

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.

Standard Profile

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 Xamarin.Mac.dll framework.

For more information, please see our Target Framework documentation.

Supported Assemblies

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.

Assembly Added API Compatibility
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.
Mono.Security.dll 1.0 Cryptographic APIs.
monotouch.dll 1.0 This assembly contains the C# binding to the CocoaTouch API.
mscorlib.dll 1.0 Silverlight
OpenTK.dll 1.0 The OpenGL/OpenAL object oriented APIs, extended to provide iPhone device support.
System.dll 1.0

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.Timers
System.Core.dll 1.0 Silverlight
System.Data.dll 1.2 .NET 3.5 , with some functionality removed.
System.Data.Service.Client.dll 3.x Full oData client.
System.Drawing 1.0

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.Json.dll 1.1 Silverlight
System.Runtime.Serialization.dll ? Silverlight
System.ServiceModel.dll 1.1 WCF stack as present in Silverlight
System.ServiceModel.Web.dll ? Silverlight, plus types from the following namespaces:


  • System
  • System.ServiceModel.Channels
  • System.ServiceModel.Description
  • System.ServiceModel.Web
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.
System.Xml.dll 1.0 .NET 3.5
System.Xml.Linq.dll 1.0 .NET 3.5


Portable Class Libraries

In addition to the Mac bindings, Xamarin.Mac can consume .NET Portable Class Libraries.