.NET 9 向けの .NET MAUI の新機能
.NET 9 の .NET Multi-Platform App UI (.NET MAUI) の焦点は、製品品質を向上させることです。 これには、テスト カバレッジの拡大、エンド ツー エンド シナリオ テスト、バグ修正が含まれます。 .NET MAUI 9 Preview の製品品質の向上の詳細については、次のリリース ノートを参照してください。
重要
Xcode や Android SDK Tools などの外部依存関係に対応するために、.NET MAUI のサポート ポリシーは .NET および .NET Core のサポート ポリシーとは異なっています。 詳細については、「.NET MAUI のサポート ポリシー」をご覧ください。
.NET 9 では、.NET MAUI は .NET ワークロードおよび複数の NuGet パッケージとして出荷されます。 このアプローチの利点は、プロジェクトを特定のバージョンに簡単にピン留めできる一方で、リリースされていないビルドや試験的なビルドを簡単にプレビューできるようにすることです。 新しい .NET MAUI プロジェクトを作成すると、必要な NuGet パッケージがプロジェクトに自動的に追加されます。
.NET 9 の新機能については、「.NET 9 の新機能」を参照してください。
Android
API 34 と JDK 17 を使用する .NET Android 9 Preview には、ビルド時間を短縮し、アプリのトリミング性を向上させてサイズを小さくしパフォーマンスを向上させるための作業が含まれています。 .NET Android 9 Preview の詳細については、次のリリース ノートを参照してください。
アセット パック
.NET Android 9 Preview 3 には、アセット パックと呼ばれる別のパッケージにアセットを配置する機能が導入されています。 これにより、通常は Google Play で許可されている基本的なパッケージ サイズを超えるゲームやアプリをアップロードできます。 これらの資産を別のパッケージに配置することで、200Mb の基本パッケージ サイズではなく、最大 2Gb のパッケージをアップロードできます。
重要
アセット パックにはアセットのみを含めることができます。 .NET Android の場合、これは AndroidAsset
ビルド アクションを持つ項目を意味します。
.NET MAUI アプリでは、MauiAsset
ビルド アクションを使用してアセットを定義します。 アセット パックは、AssetPack
属性を使用して指定できます:
<MauiAsset
Include="Resources\Raw\**"
LogicalName="%(RecursiveDir)%(Filename)%(Extension)"
AssetPack="myassetpack" />
Note
追加のメタデータは、他のプラットフォームでは無視されます。
アセット パックに配置する特定の項目がある場合は、Update
属性を使用して AssetPack
メタデータを定義できます:
<MauiAsset Update="Resources\Raw\MyLargeAsset.txt" AssetPack="myassetpack" />
アセット パックには、デバイスにアセットをインストールするタイミングを制御する、さまざまな配信オプションを使用できます:
- インストール タイム パックは、アプリと同時にインストールされます。 このパックの種類は、最大 1Gb のサイズにすることができますが、1 つだけを持つことができます。 この配信の種類は、
InstallTime
メタデータで指定されます。 - 高速フォロー パックは、アプリのインストールが完了した直後にインストールされます。 この種類のパックのインストール中にアプリを起動できるため、アセットを使用する前にインストールが完了したことを確認する必要があります。 この種類のアセット パックのサイズは最大 512Mb です。 この配信の種類は、
FastFollow
メタデータで指定されます。 - オンデマンド パックは、アプリが明示的に要求しない限り、デバイスにダウンロードされることはありません。 すべてのアセット パックの合計サイズは 2Gb を超えることはできません。また、最大 50 個の個別のアセット パックを使用できます。 この配信の種類は、
OnDemand
メタデータで指定されます。
.NET MAUI アプリでは、配信の種類を MauiAsset
の DeliveryType
属性で指定できます:
<MauiAsset Update="Resources\Raw\myvideo.mp4" AssetPack="myassetpack" DeliveryType="FastFollow" />
Android アセット パックの詳細については、「Android アセット パック」を参照してください。
iOS
iOS、tvOS、Mac Catalyst、および macOS の .NET 9 Preview は、以下のプラットフォーム バージョンの Xcode 15.2 を使用します。
- iOS:17.2
- tvOS:17.2
- Mac Catalyst:17.2
- macOS: 14.2
iOS、tvOS、Mac Catalyst、および macOS の .NET 9 Preview の詳細については、次のリリース ノートを参照してください。
バインド
.NET iOS 9 Preview 3 では、iOS バインド用に .NET のバージョンをマルチターゲットする機能が導入されています。 たとえば、ライブラリ プロジェクトは、2 つの異なる iOS バージョン用にビルドする必要がある場合があります:
<TargetFrameworks>net9.0-ios17.0;net9.0-ios17.2</TargetFrameworks>
これにより、2 つのライブラリが生成されます。1 つは iOS 17.0 バインドを使用し、もう 1 つは iOS 17.2 バインドを使用します。
重要
アプリ プロジェクトは常に最新の iOS SDK をターゲットにする必要があります。
関連項目
.NET MAUI
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示