Novità di .NET MAUI per .NET 9

L'obiettivo dell'interfaccia utente dell'app multipiattaforma .NET (.NET MAUI) in .NET 9 è migliorare la qualità del prodotto. Sono inclusi l'espansione della copertura dei test, i test degli scenari end-to-end e la correzione di bug. Per altre informazioni sui miglioramenti della qualità del prodotto in .NET MAUI 9 Preview, vedere le note sulla versione seguenti:

Importante

A causa dell'uso di dipendenze esterne, ad esempio Xcode o Android SDK Tools, i criteri di supporto di .NET MAUI differiscono dai criteri di supporto di .NET e .NET Core. Per altre informazioni, vedere Criteri di supporto di .NET MAUI.

In .NET 9, .NET MAUI viene fornito come carico di lavoro .NET e più pacchetti NuGet. Il vantaggio di questo approccio è che consente di aggiungere facilmente i progetti a versioni specifiche, consentendo allo stesso tempo di visualizzare facilmente l'anteprima di build non definitive o sperimentali. Quando si crea un nuovo progetto MAUI .NET, i pacchetti NuGet necessari vengono aggiunti automaticamente al progetto.

Per informazioni sulle novità di .NET 9, vedere Novità di .NET 9.

Android

.NET per Android 9 Preview, che usa l'API 34 e JDK 17, include il lavoro per ridurre i tempi di compilazione e migliorare la riduzione delle dimensioni delle app per ridurre le dimensioni e migliorare le prestazioni. Per altre informazioni su .NET per Android 9 Preview, vedere le note sulla versione seguenti:

Pacchetti di asset

.NET per Android 9 Preview 3 introduce la possibilità di inserire asset in un pacchetto separato, noto come asset pack. Ciò consente di caricare giochi e app che normalmente sarebbero maggiori delle dimensioni del pacchetto di base consentite da Google Play. Inserendo questi asset in un pacchetto separato si ottiene la possibilità di caricare un pacchetto con dimensioni fino a 2 GB, anziché le dimensioni di base del pacchetto di 200 Mb.

Importante

I pacchetti di asset possono contenere solo asset. Nel caso di .NET per Android questo significa che gli elementi con l'azione AndroidAsset di compilazione.

Le app MAUI .NET definiscono gli asset tramite l'azione di MauiAsset compilazione. È possibile specificare un asset pack tramite l'attributo AssetPack :

<MauiAsset
    Include="Resources\Raw\**"
    LogicalName="%(RecursiveDir)%(Filename)%(Extension)"
    AssetPack="myassetpack" />

Nota

I metadati aggiuntivi verranno ignorati da altre piattaforme.

Se si hanno elementi specifici da inserire in un asset pack, è possibile usare l'attributo Update per definire i AssetPack metadati:

<MauiAsset Update="Resources\Raw\MyLargeAsset.txt" AssetPack="myassetpack" />

I pacchetti asset possono avere diverse opzioni di recapito, che controllano quando gli asset verranno installati nel dispositivo:

  • I time pack di installazione vengono installati contemporaneamente all'app. Questo tipo di pacchetto può avere dimensioni fino a 1 GB, ma è possibile avere solo una di esse. Questo tipo di recapito viene specificato con InstallTime i metadati.
  • I pacchetti di follow pack rapidi verranno installati a un certo punto poco dopo il completamento dell'installazione dell'app. L'app sarà in grado di iniziare durante l'installazione di questo tipo di pacchetto in modo da verificare che sia stata completata l'installazione prima di provare a usare gli asset. Questo tipo di asset pack può avere dimensioni fino a 512 Mb. Questo tipo di recapito viene specificato con FastFollow i metadati.
  • I pacchetti su richiesta non verranno mai scaricati nel dispositivo, a meno che l'app non la richieda in modo specifico. Le dimensioni totali di tutti i pacchetti di asset non possono superare i 2 GB ed è possibile avere fino a 50 pacchetti di asset separati. Questo tipo di recapito viene specificato con OnDemand i metadati.

Nelle app MAUI .NET è possibile specificare il tipo di recapito con l'attributo DeliveryType in :MauiAsset

<MauiAsset Update="Resources\Raw\myvideo.mp4" AssetPack="myassetpack" DeliveryType="FastFollow" />

Per altre informazioni sui pacchetti di asset Android, vedere Asset Pack Android.

iOS

.NET 9 Preview in iOS, tvOS, Mac Catalyst e macOS usa Xcode 15.2 per le versioni della piattaforma seguenti:

  • iOS: 17.2
  • tvOS: 17.2
  • Mac Catalyst: 17.2
  • macOS: 14.2

Per altre informazioni su .NET 9 Preview in iOS, tvOS, Mac Catalyst e macOS, vedere le note sulla versione seguenti:

Bindings

.NET per iOS 9 Preview 3 introduce la possibilità di usare versioni multi target di .NET per le associazioni iOS. Ad esempio, potrebbe essere necessario compilare un progetto di libreria per due versioni iOS distinte:

<TargetFrameworks>net9.0-ios17.0;net9.0-ios17.2</TargetFrameworks>

Verranno prodotte due librerie, una con binding iOS 17.0 e una usando le associazioni iOS 17.2.

Importante

Un progetto di app deve sempre avere come destinazione l'SDK iOS più recente.

Vedi anche