从 .NET 9 开始,本机 AOT 支持面向类似于 iOS 的平台。 类似于 iOS 的平台 是指使用类似 API 的 Apple 平台,例如:iOS、MacCatalyst 和 tvOS。
根据用例,支持可以分为:
- 对引用操作系统特定 API 的应用程序和库的支持
- 支持没有特定于 OS 的 API 依赖项的应用程序和库
支持引用特定于 OS 的 API 的应用程序和库
这指的是为特定操作系统的框架设计的 .NET MAUI 项目(如: net9.0-ios
)。
如何为 .NET MAUI 应用启用 Native AOT,请参阅 iOS 和 Mac Catalyst 上的 Native AOT 部署。
支持没有特定于 OS 的 API 依赖项的应用程序和库
这指的是面向常规或非 OS 特定目标框架的 .NET 项目(例如:net9.0
),可通过以下方式启用本机 AOT:
在项目文件中包括以下属性:
<PublishAot>true</PublishAot> <PublishAotUsingRuntimePack>true</PublishAotUsingRuntimePack>
指定适当的运行时环境标识符(稍后称为
<rid>
),将项目发布到预期的类似 iOS 的目标平台。ios-arm64
,适用于 iOS 硬件设备iossimulator-arm64
或者iossimulator-x64
,面向 iOS 模拟器maccatalyst-arm64
或maccatalyst-x64
,用于 Mac Catalysttvos-arm64
,适用于 tvOS 物理设备tvossimulator-arm64
或者tvossimulator-x64
,适用于tvOS模拟器
并执行以下命令:
dotnet publish -r <rid>
有关在类似于 iOS 的平台上生成和使用本机库的详细信息,请参阅如何使用面向类似于 iOS 平台的本机 AOT 创建和使用自定义框架。