Xamarin.iOS、Xamarin.Android 和 Xamarin.Mac 都附带了十几个程序集。 正如 Silverlight 是桌面 .NET 程序集的扩展子集一样,Xamarin 平台也是多个 Silverlight 和桌面 .NET 程序集的扩展子集。
Xamarin 平台与为其他配置文件编译的现有程序集的 ABI 不兼容。 必须重新编译源代码才能生成面向正确配置文件的程序集(就像需要分别针对 Silverlight 和 .NET 3.5 重新编译源代码一样)。
Xamarin.Mac 应用程序可以采用三种模式进行编译:一种使用 Xamarin 的特选移动配置文件的模式、Xamarin.Mac .NET 4.5 Framework(允许面向现有完整桌面程序集)和不受支持的模式(使用系统 Mono 安装中找到的 .NET API)。 有关详细信息,请参阅我们的目标框架文档。
.NET Standard 库
除了 iOS、Android 和 Mac 绑定外,Xamarin 项目还可以使用 .NET Standard 库。
可移植类库
Xamarin 项目还可以使用 .NET 可移植类库,尽管这项技术已被弃用,转而支持 .NET Standard。
支持的程序集
这些程序集在“引用管理器”>“程序集”>“框架”(Visual Studio 2017) 和“编辑引用”>“包”(Visual Studio for Mac) 中提供,它们与 Xamarin 平台兼容。
| Assembly | API 兼容性 | Xamarin iOS | Xamarin Android | Xamarin Mac | 
|---|---|---|---|---|
| FSharp.Core.dll |  |  |  | |
| l18N.dll | 包括 CJK、MidEast、Other、Rare、West |  |  |  | 
| Microsoft.CSharp.dll |  |  |  | |
| Mono.CSharp.dll |  |  |  | |
| Mono.Data.Sqlite.dll | SQLite 的 ADO.NET 提供程序;请参阅限制。 |  |  |  | 
| Mono.Data.Tds.dll | TDS 协议支持;用于 System.Data 的 System.Data.SqlClient 支持。 |  |  |  | 
| Mono.Dynamic.Interpreter.dll |  | |||
| Mono.Security.dll | 加密 API。 |  |  |  | 
| monotouch.dll | 此程序集包含对 CocoaTouch API 的 C# 绑定。 这仅在经典 iOS 项目中可用。 |  | ||
| MonoTouch.Dialog-1.dll |  | |||
| MonoTouch.NUnitLite.dll |  | |||
| mscorlib.dll | Silverlight |  |  |  | 
| OpenTK-1.0.dll | OpenGL/OpenAL 面向对象的 API 已扩展,可提供 iPhone 设备支持。 |  |  |  | 
| System.dll | Silverlight,以及来自以下命名空间的类型: System.Collections.Specialized System.ComponentModel System.ComponentModel.Design System.Diagnostics System.IO System.IO.Compression System.IO.Compression.FileSystem System.Net System.Net.Cache System.Net.Mail System.Net.Mime System.Net.NetworkInformation System.Net.Security System.Net.Sockets System.Runtime.InteropServices System.Runtime.Versioning System.Security.AccessControl System.Security.Authentication System.Security.密码 System.Security.Permissions System.Threading System.Timers |  |  |  | 
| System.ComponentModel.Composition.dll |  |  |  | |
| System.ComponentModel.DataAnnotations.dll |  |  |  | |
| System.Core.dll | Silverlight |  |  |  | 
| System.Data.dll | .NET 3.5(删除了一些功能)。 |  |  |  | 
| System.Data.Services.Client.dll | 完整的 oData 客户端。 |  |  |  | 
| System.IO.压缩 |  |  |  | |
| System.IO.Compression.FileSystem |  |  |  | |
| System.Json.dll | Silverlight |  |  |  | 
| System.Net.Http.dll |  |  |  | |
| System.Numerics.dll |  |  |  | |
| System.Runtime.Serialization.dll | Silverlight |  |  |  | 
| System.ServiceModel.dll | Silverlight 中存在的 WCF 堆栈 |  |  |  | 
| System.ServiceModel.Internals.dll |  |  |  | |
| System.ServiceModel.Web.dll | Silverlight,以及来自以下命名空间的类型: 系统 System.ServiceModel.Channels System.ServiceModel.Description System.ServiceModel.Web |  |  |  | 
| System.Transactions.dll | .NET 3.5;支持 System.Data 的一部分。 |  |  |  | 
| System.Web.Services.dll | .NET 3.5 配置文件中的基本 Web 服务(删除了服务器功能)。 |  |  |  | 
| System.Windows.dll |  |  |  | |
| System.Xml.dll | .NET 3.5 |  |  |  | 
| System.Xml.Linq.dll | .NET 3.5 |  |  |  | 
| System.Xml.Serialization.dll |  |  |  | |
| Xamarin.iOS.dll | 此程序集包含对 CocoaTouch API 的 C# 绑定。 这仅在统一 iOS 项目中使用。 |  | ||
| Java.Interop.dll |  | |||
| Mono.Android.dll |  | |||
| Mono.Android.Export.dll |  | |||
| Mono.Posix.dll |  | |||
| System.EnterpriseServices.dll |  | |||
| Xamarin.Android.NUnitLite.dll |  | |||
| Mono.CompilerServices.SymbolWriter.dll | 对于编译器编写器。 |  | ||
| Xamarin.Mac.dll |  | |||
| System.Drawing.dll | Xamarin.Mac、.NET 4.5 或移动框架的统一 API 不支持 System.Drawing。 可以使用 sysdrawing-coregraphics 库将 System.Drawing 支持添加到 iOS 和 macOS |  |  |