Condividi tramite


Distribuzione e test

.NET Multipiattaforma App UI (.NET MAUI) usa un sistema a progetto singolo per gestire la configurazione dell'app multipiattaforma. Questa configurazione include proprietà e impostazioni che controllano la compilazione e la creazione di pacchetti dell'app in ogni piattaforma. Per altre informazioni, vedere Configurazione del progetto per le app MAUI .NET.

Gli unit test controllano che ogni unità di funzionalità dell'app venga eseguita come previsto, in modo che gli errori non vengano propagati in tutta l'app. Uno unit test accetta una piccola unità dell'app, in genere un metodo, lo isola dal resto del codice e verifica che si comporti come previsto. Per ulteriori informazioni, consultare Testing unità.

Esistono molte tecniche per aumentare le prestazioni e le prestazioni percepite delle app .NET MAUI. Collettivamente queste tecniche possono ridurre notevolmente la quantità di lavoro eseguita da una CPU e la quantità di memoria utilizzata da un'app. Per altre informazioni, vedere Migliorare le prestazioni delle app.

Quando compila l'app, .NET MAUI può usare un linker denominato ILLink per ridurre le dimensioni complessive dell'app con una tecnica nota come taglio. ILLink riduce le dimensioni analizzando il codice intermedio prodotto dal compilatore. Rimuove metodi, proprietà, campi, eventi, struct e classi inutilizzati per produrre un'app che contiene solo dipendenze di codice e assembly necessarie per eseguire l'app. Per altre informazioni, vedere Tagliare un'app MAUI .NET.

Android

È possibile eseguire il debug e testare le app nell'emulatore Android, che può essere eseguito in un'ampia gamma di configurazioni per simulare dispositivi diversi. Ogni configurazione è chiamata dispositivo virtuale. Quando si distribuiscono e si testano le app nell'emulatore, si seleziona un dispositivo virtuale preconfigurato o personalizzato che simula un dispositivo Android fisico, ad esempio un telefono Pixel. Per altre informazioni, vedere Debug nell'emulatore Android.

Anche se l'emulatore Android consente di sviluppare e testare rapidamente le app, è anche necessario testare le app in un dispositivo Android reale. Per l'esecuzione in un dispositivo, è necessario abilitare la modalità sviluppatore nel dispositivo e connetterla al computer di sviluppo. Per altre informazioni, vedere Configurare un dispositivo Android per il debug.

Quando si distribuisce un'app MAUI .NET per Android, si genera un pacchetto Android (APK) o un file del bundle di app Android (AAB). L'APK viene usato per l'installazione dell'app in un dispositivo Android e il servizio AAB viene usato per pubblicare l'app in un Android Store. Con poche modifiche di configurazione al progetto, l'app può essere inserita in un pacchetto per la distribuzione. Per altre informazioni, vedere Pubblicare un'app MAUI .NET per Android.

iOS

La compilazione di app iOS native con .NET MAUI richiede l'accesso agli strumenti di compilazione di Apple, che vengono eseguiti solo in un Mac. Per questo motivo, Visual Studio deve connettersi a un Mac accessibile dalla rete per compilare app IOS .NET MAUI. La funzionalità Associa a Mac di Visual Studio individua, si connette, esegue l'autenticazione e memorizza gli host di compilazione Mac in modo che sia possibile lavorare in modo produttivo in Windows. Per altre informazioni, vedere Associare a Mac per lo sviluppo iOS.

Se combinato con Pair to Mac, il simulatore iOS remoto per Windows consente di testare le app in un simulatore iOS visualizzato in Windows insieme a Visual Studio. Per altre informazioni, vedere Simulatore iOS remoto per Windows.

Durante lo sviluppo di un'app iOS MAUI .NET, è essenziale testarla distribuendo l'app in un dispositivo fisico, oltre al simulatore. I bug e i problemi di prestazioni solo dispositivo possono traspire durante l'esecuzione in un dispositivo, a causa di limitazioni hardware come la memoria o la connettività di rete. Per testare un'app in un dispositivo fisico, è necessario effettuare il provisioning del dispositivo e Apple deve essere informato che il dispositivo verrà usato per i test. Per altre informazioni sul provisioning dei dispositivi, vedere Provisioning dei dispositivi per iOS.

Invece di dover usare un cavo USB per connettere un dispositivo iOS al Mac per distribuire ed eseguire il debug di un'app .NET MAUI, Visual Studio può distribuire app iOS MAUI .NET ai dispositivi in modalità wireless ed eseguirne il debug wireless. Per altre informazioni, vedere Distribuzione wireless per le app IOS .NET MAUI.

In alternativa, il riavvio rapido consente di distribuire rapidamente le app iOS in un dispositivo locale a 64 bit, da Visual Studio, senza richiedere un host di compilazione Mac. Rimuove anche la necessità di una ricompilazione completa del pacchetto eseguendo il push di nuove modifiche al bundle di app esistente già presente nel dispositivo iOS connesso in locale. Supporta le modifiche apportate ai file di codice, alle risorse e ai riferimenti ai progetti, consentendo di testare rapidamente le modifiche alle app durante lo sviluppo. Per altre informazioni, vedere Distribuire un'app iOS in un dispositivo locale usando il riavvio rapido.

Quando si distribuisce un'app MAUI .NET per iOS, si genera un file con estensione ipa . Un file con estensione ipa è un file di archivio dell'app iOS che archivia un'app iOS. La distribuzione di un'app MAUI .NET in iOS richiede che venga effettuato il provisioning dell'app usando un profilo di provisioning. I profili di provisioning sono file che contengono informazioni sulla firma del codice, nonché l'identità dell'app e il relativo meccanismo di distribuzione previsto. Per altre informazioni sulla pubblicazione di un'app MAUI .NET per iOS, vedere Pubblicare un'app MAUI .NET per iOS.

In iOS le app .NET MAUI vengono eseguite in una sandbox che fornisce un set di regole che limitano l'accesso tra l'app e le risorse di sistema o i dati utente. Apple offre funzionalità, note anche come servizi app, come mezzo per estendere le funzionalità e ampliare l'ambito di ciò che le app iOS possono eseguire. Le funzionalità vengono aggiunte al profilo di provisioning dell'app e vengono usate durante la firma del codice dell'app. Per altre informazioni, vedere Funzionalità.

Mac Catalyst

Quando si distribuisce l'app Catalyst mac .NET MAUI, si genera un .app o un file .pkg. Un file .app è un'app autonoma che può essere eseguita senza installazione, mentre un .pkg è un'app inclusa in un programma di installazione. La distribuzione di un'app Catalyst mac .NET MAUI richiede che venga effettuato il provisioning dell'app usando un profilo di provisioning. I profili di provisioning sono file che contengono informazioni sulla firma del codice, nonché l'identità dell'app e il relativo meccanismo di distribuzione previsto. Per altre informazioni sulla pubblicazione di un'app Catalyst Mac MAUI .NET, vedere Pubblicare un'app Mac Catalyst .NET MAUI.

In Mac Catalyst, le app MAUI .NET vengono eseguite in una sandbox che fornisce un set di regole che limitano l'accesso tra l'app e le risorse di sistema o i dati utente. Apple offre funzionalità, note anche come servizi app, come mezzo per estendere le funzionalità e ampliare l'ambito di ciò che le app iOS possono eseguire. Le funzionalità vengono aggiunte al profilo di provisioning dell'app e vengono usate durante la firma del codice dell'app. Per altre informazioni, vedere Funzionalità.

Finestre

È possibile testare ed eseguire il debug delle app in un computer Windows locale, che richiede l'abilitazione della modalità sviluppatore. Per altre informazioni, vedere Distribuire ed eseguire il debug dell'app .NET MAUI in Windows.

Quando si distribuisce un'app MAUI .NET per Windows, è possibile pubblicare l'app e le relative dipendenze in una cartella per la distribuzione in un altro sistema. È anche possibile creare un pacchetto dell'app in un pacchetto MSIX, che offre numerosi vantaggi per gli utenti che installano l'app. Per altre informazioni, vedere Pubblicare un'app MAUI .NET per Windows.