可用程序集
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 |